Skip to content
Snippets Groups Projects
Commit 0cec6fb2 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

fix compile woth MSVC 2012 (thanks to Wendy!)

parent a811e902
No related branches found
No related tags found
No related merge requests found
......@@ -547,7 +547,8 @@ static void _discretize(double tol, GEdge * edge, std::vector<sortedPoint> &upts
const double d2 = sqDistPointSegment(pmid, p0, p1);
if (d2 < tol * tol)
return;
upts.push_back((sortedPoint){pmid, tmid, pos1});
sortedPoint pnt = {pmid, tmid, pos1};
upts.push_back(pnt);
const int posmid = upts.size() - 1;
upts[pos0].next = posmid;
_discretize(tol, edge, upts, pos0);
......@@ -557,8 +558,10 @@ static void _discretize(double tol, GEdge * edge, std::vector<sortedPoint> &upts
void GEdge::discretize(double tol, std::vector<SPoint3> &dpts, std::vector<double> &ts)
{
std::vector<sortedPoint> upts;
upts.push_back((sortedPoint){getBeginVertex()->xyz(), 0., 1});
upts.push_back((sortedPoint){getEndVertex()->xyz(), 1., -1});
sortedPoint pnt1 = {getBeginVertex()->xyz(), 0., 1};
upts.push_back(pnt1);
sortedPoint pnt2 = {getEndVertex()->xyz(), 1., -1};
upts.push_back(pnt2);
_discretize(tol, this, upts, 0);
dpts.clear();
dpts.reserve(upts.size());
......
......@@ -10,7 +10,8 @@ typedef struct {
static int sortedPointInsert(const SPoint3 &p, const double t, std::vector<sortedPoint> &pts, int pos)
{
pts.push_back((sortedPoint) {p, t, pts[pos].next});
sortedPoint pnt = {p, t, pts[pos].next};
pts.push_back(pnt);
int newp = pts.size() - 1;
pts[pos].next = newp;
return newp;
......@@ -55,8 +56,10 @@ static void decasteljau(double tol, std::vector<sortedPoint> &discrete, int pos,
void decasteljau(double tol, const SPoint3 &p0, const SPoint3 &p1, const SPoint3 &p2, std::vector<SPoint3> &pts, std::vector<double> &ts)
{
std::vector<sortedPoint> discrete;
discrete.push_back((sortedPoint) {p0, 0., 1});
discrete.push_back((sortedPoint) {p2, 1., -1});
sortedPoint pnt1 = {p0, 0., 1};
discrete.push_back(pnt1);
sortedPoint pnt2 = {p2, 1., -1};
discrete.push_back(pnt2);
decasteljau(tol, discrete, 0, p0, p1, p2, 0., 1);
sortedPointToVector(discrete, pts, ts);
}
......@@ -80,8 +83,10 @@ static void decasteljau(double tol, std::vector<sortedPoint> &discrete, int pos,
void decasteljau(double tol, const SPoint3 &p0, const SPoint3 &p1, const SPoint3 &p2, const SPoint3 &p3, std::vector<SPoint3> &pts, std::vector<double> &ts)
{
std::vector<sortedPoint> discrete;
discrete.push_back((sortedPoint) {p0, 0., 1});
discrete.push_back((sortedPoint) {p3, 1., -1});
sortedPoint pnt1 = {p0, 0., 1};
discrete.push_back(pnt1);
sortedPoint pnt2 = {p3, 1., -1};
discrete.push_back(pnt2);
decasteljau(tol, discrete, 0, p0, p1, p2, p3, 0., 1);
sortedPointToVector(discrete, pts, ts);
}
......@@ -110,8 +115,10 @@ static void decasteljau(double tol, std::vector<sortedPoint> &discrete, int pos,
void decasteljau(double tol, const std::vector<SPoint3> &controlPoints, std::vector<SPoint3> &pts, std::vector<double> &ts)
{
std::vector<sortedPoint> discrete;
discrete.push_back((sortedPoint) {controlPoints[0], 0., 1});
discrete.push_back((sortedPoint) {controlPoints.back(), 1., -1});
sortedPoint pnt1 = {controlPoints[0], 0., 1};
discrete.push_back(pnt1);
sortedPoint pnt2 = {controlPoints.back(), 1., -1};
discrete.push_back(pnt2);
decasteljau(tol, discrete, 0, controlPoints, 0., 1);
sortedPointToVector(discrete, pts, ts);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment