diff options
Diffstat (limited to 'source/blender/freestyle/intern/view_map')
19 files changed, 678 insertions, 339 deletions
diff --git a/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp b/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp index 6c144807e35..faa219beb9c 100644 --- a/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp +++ b/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp @@ -48,8 +48,9 @@ void FEdgeXDetector::processShapes(WingedEdge &we) } for (vector<WShape *>::const_iterator it = wshapes.begin(); it != wshapes.end(); it++) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; + } wxs = dynamic_cast<WXShape *>(*it); #if 0 wxs->bbox(Min, Max); @@ -72,29 +73,36 @@ void FEdgeXDetector::processShapes(WingedEdge &we) _computeViewIndependent = true; } preProcessShape(wxs); - if (progressBarDisplay) + if (progressBarDisplay) { _pProgressBar->setProgress(_pProgressBar->getProgress() + 1); + } processBorderShape(wxs); - if (_computeMaterialBoundaries) + if (_computeMaterialBoundaries) { processMaterialBoundaryShape(wxs); + } processCreaseShape(wxs); - if (_computeRidgesAndValleys) + if (_computeRidgesAndValleys) { processRidgesAndValleysShape(wxs); - if (_computeSuggestiveContours) + } + if (_computeSuggestiveContours) { processSuggestiveContourShape(wxs); + } processSilhouetteShape(wxs); processEdgeMarksShape(wxs); - if (progressBarDisplay) + if (progressBarDisplay) { _pProgressBar->setProgress(_pProgressBar->getProgress() + 1); + } // build smooth edges: buildSmoothEdges(wxs); // Post processing for suggestive contours - if (_computeSuggestiveContours) + if (_computeSuggestiveContours) { postProcessSuggestiveContourShape(wxs); - if (progressBarDisplay) + } + if (progressBarDisplay) { _pProgressBar->setProgress(_pProgressBar->getProgress() + 1); + } wxs->setComputeViewIndependentFlag(false); _computeViewIndependent = false; @@ -211,15 +219,18 @@ void FEdgeXDetector::computeCurvatures(WXVertex *vertex) real absK1 = fabs(C->K1); _meanK1 += absK1; - if (absK1 > _maxK1) + if (absK1 > _maxK1) { _maxK1 = absK1; - if (absK1 < _minK1) + } + if (absK1 < _minK1) { _minK1 = absK1; + } } // view dependant C = vertex->curvatures(); - if (C == 0) + if (C == 0) { return; + } // compute radial curvature : n = C->e1 ^ C->e2; @@ -239,10 +250,12 @@ void FEdgeXDetector::computeCurvatures(WXVertex *vertex) C->Kr = C->K1 * cos2theta + C->K2 * sin2theta; real absKr = fabs(C->Kr); _meanKr += absKr; - if (absKr > _maxKr) + if (absKr > _maxKr) { _maxKr = absKr; - if (absKr < _minKr) + } + if (absKr < _minKr) { _minKr = absKr; + } ++_nPoints; } @@ -311,8 +324,9 @@ void FEdgeXDetector::ProcessSilhouetteFace(WXFace *iFace) void FEdgeXDetector::ProcessSilhouetteEdge(WXEdge *iEdge) { - if (iEdge->nature() & Nature::BORDER) + if (iEdge->nature() & Nature::BORDER) { return; + } // SILHOUETTE ? //------------- WXFace *fA = (WXFace *)iEdge->GetaOEdge()->GetaFace(); @@ -324,13 +338,16 @@ void FEdgeXDetector::ProcessSilhouetteEdge(WXEdge *iEdge) // normals for 1 vertex for these two faces //-------------------- // In reality we only test the normals for 1 of the 2 vertices. - if (fA->GetVertexNormal(iEdge->GetaVertex()) == fB->GetVertexNormal(iEdge->GetaVertex())) + if (fA->GetVertexNormal(iEdge->GetaVertex()) == fB->GetVertexNormal(iEdge->GetaVertex())) { return; + } iEdge->AddNature(Nature::SILHOUETTE); - if (fB->front()) + if (fB->front()) { iEdge->setOrder(1); - else + } + else { iEdge->setOrder(-1); + } } } @@ -338,8 +355,9 @@ void FEdgeXDetector::ProcessSilhouetteEdge(WXEdge *iEdge) ///////// void FEdgeXDetector::processBorderShape(WXShape *iWShape) { - if (!_computeViewIndependent) + if (!_computeViewIndependent) { return; + } // Make a pass on the edges to detect the BORDER vector<WEdge *>::iterator we, weend; vector<WEdge *> &wedges = iWShape->getEdgeList(); @@ -362,8 +380,9 @@ void FEdgeXDetector::ProcessBorderEdge(WXEdge *iEdge) ///////// void FEdgeXDetector::processCreaseShape(WXShape *iWShape) { - if (!_computeViewIndependent) + if (!_computeViewIndependent) { return; + } // Make a pass on the edges to detect the CREASE vector<WEdge *>::iterator we, weend; @@ -377,14 +396,16 @@ void FEdgeXDetector::ProcessCreaseEdge(WXEdge *iEdge) { // CREASE ? //--------- - if (iEdge->nature() & Nature::BORDER) + if (iEdge->nature() & Nature::BORDER) { return; + } WXFace *fA = (WXFace *)iEdge->GetaOEdge()->GetaFace(); WXFace *fB = (WXFace *)iEdge->GetaOEdge()->GetbFace(); WVertex *aVertex = iEdge->GetaVertex(); - if ((fA->GetVertexNormal(aVertex) * fB->GetVertexNormal(aVertex)) <= _creaseAngle) + if ((fA->GetVertexNormal(aVertex) * fB->GetVertexNormal(aVertex)) <= _creaseAngle) { iEdge->AddNature(Nature::CREASE); + } } // RIDGES AND VALLEYS @@ -394,8 +415,9 @@ void FEdgeXDetector::processRidgesAndValleysShape(WXShape *iWShape) // Don't forget to add the built layer to the face at the end of the ProcessFace: // iFace->AddSmoothLayer(faceLayer); - if (!_computeViewIndependent) + if (!_computeViewIndependent) { return; + } // Here the curvatures must already have been computed vector<WFace *> &wfaces = iWShape->GetFaceList(); @@ -595,8 +617,9 @@ void FEdgeXDetector::postProcessSuggestiveContourFace(WXFace *iFace) // Find the suggestive contour layer of the face (zero or one edge). vector<WXFaceLayer *> sc_layers; iFace->retrieveSmoothEdgesLayers(Nature::SUGGESTIVE_CONTOUR, sc_layers); - if (sc_layers.empty()) + if (sc_layers.empty()) { return; + } WXFaceLayer *sc_layer; sc_layer = sc_layers[0]; @@ -628,8 +651,9 @@ void FEdgeXDetector::postProcessSuggestiveContourFace(WXFace *iFace) for (WVertex::face_iterator fit = v->faces_begin(), fitend = v->faces_end(); fit != fitend; ++fit) { wxf = dynamic_cast<WXFace *>(*fit); - if (!wxf->getOppositeEdge(v, opposite_edge)) + if (!wxf->getOppositeEdge(v, opposite_edge)) { continue; + } opposite_vertex_a = (WXVertex *)opposite_edge->GetaVertex(); opposite_vertex_b = (WXVertex *)opposite_edge->GetbVertex(); @@ -695,8 +719,9 @@ void FEdgeXDetector::postProcessSuggestiveContourFace(WXFace *iFace) //////////////////// void FEdgeXDetector::processMaterialBoundaryShape(WXShape *iWShape) { - if (!_computeViewIndependent) + if (!_computeViewIndependent) { return; + } // Make a pass on the edges to detect material boundaries vector<WEdge *>::iterator we, weend; vector<WEdge *> &wedges = iWShape->getEdgeList(); @@ -748,8 +773,9 @@ void FEdgeXDetector::buildSmoothEdges(WXShape *iShape) for (vector<WXFaceLayer *>::iterator wxfl = faceLayers.begin(), wxflend = faceLayers.end(); wxfl != wxflend; ++wxfl) { - if ((*wxfl)->BuildSmoothEdge()) + if ((*wxfl)->BuildSmoothEdge()) { hasSmoothEdges = true; + } } } diff --git a/source/blender/freestyle/intern/view_map/FEdgeXDetector.h b/source/blender/freestyle/intern/view_map/FEdgeXDetector.h index 9df0b4bb4bd..2bcf2d3bee8 100644 --- a/source/blender/freestyle/intern/view_map/FEdgeXDetector.h +++ b/source/blender/freestyle/intern/view_map/FEdgeXDetector.h @@ -96,10 +96,12 @@ class FEdgeXDetector { // XXX angle should be in radian... inline void setCreaseAngle(float angle) { - if (angle < 0.0) + if (angle < 0.0) { angle = 0.0; - else if (angle > 180.0) + } + else if (angle > 180.0) { angle = 180.0; + } angle = cos(M_PI * (180.0 - angle) / 180.0); if (angle != _creaseAngle) { _creaseAngle = angle; diff --git a/source/blender/freestyle/intern/view_map/Functions0D.cpp b/source/blender/freestyle/intern/view_map/Functions0D.cpp index 2a9a654981a..892b9b33b4b 100644 --- a/source/blender/freestyle/intern/view_map/Functions0D.cpp +++ b/source/blender/freestyle/intern/view_map/Functions0D.cpp @@ -64,14 +64,17 @@ void getFEdges(Interface0DIterator &it, FEdge *&fe1, FEdge *&fe2) // we have more than 2 vertices bool begin = false, last = false; Interface0DIterator previous = it; - if (!previous.isBegin()) + if (!previous.isBegin()) { --previous; - else + } + else { begin = true; + } Interface0DIterator next = it; ++next; - if (next.isEnd()) + if (next.isEnd()) { last = true; + } if (begin) { fe1 = it->getFEdge(*next); fe2 = NULL; @@ -94,8 +97,9 @@ void getViewEdges(Interface0DIterator &it, ViewEdge *&ve1, ViewEdge *&ve2) ve1 = fe1->viewedge(); if (fe2 != NULL) { ve2 = fe2->viewedge(); - if (ve2 == ve1) + if (ve2 == ve1) { ve2 = NULL; + } } else { ve2 = NULL; @@ -116,14 +120,16 @@ void getOccludersF0D(Interface0DIterator &it, set<ViewShape *> &oOccluders) occluder_container::const_iterator oit = ve1->occluders_begin(); occluder_container::const_iterator oitend = ve1->occluders_end(); - for (; oit != oitend; ++oit) + for (; oit != oitend; ++oit) { oOccluders.insert((*oit)); + } if (ve2 != NULL) { oit = ve2->occluders_begin(); oitend = ve2->occluders_end(); - for (; oit != oitend; ++oit) + for (; oit != oitend; ++oit) { oOccluders.insert((*oit)); + } } } @@ -150,20 +156,25 @@ int VertexOrientation2DF0D::operator()(Interface0DIterator &iter) } Interface0DIterator next = iter; ++next; - if (next.isEnd()) + if (next.isEnd()) { C = Vec2f(iter->getProjectedX(), iter->getProjectedY()); - else + } + else { C = Vec2f(next->getProjectedX(), next->getProjectedY()); + } Vec2f AB(B - A); - if (AB.norm() != 0) + if (AB.norm() != 0) { AB.normalize(); + } Vec2f BC(C - B); - if (BC.norm() != 0) + if (BC.norm() != 0) { BC.normalize(); + } result = AB + BC; - if (result.norm() != 0) + if (result.norm() != 0) { result.normalize(); + } return 0; } @@ -181,20 +192,25 @@ int VertexOrientation3DF0D::operator()(Interface0DIterator &iter) } Interface0DIterator next = iter; ++next; - if (next.isEnd()) + if (next.isEnd()) { C = Vec3r(iter->getX(), iter->getY(), iter->getZ()); - else + } + else { C = Vec3r(next->getX(), next->getY(), next->getZ()); + } Vec3r AB(B - A); - if (AB.norm() != 0) + if (AB.norm() != 0) { AB.normalize(); + } Vec3r BC(C - B); - if (BC.norm() != 0) + if (BC.norm() != 0) { BC.normalize(); + } result = AB + BC; - if (result.norm() != 0) + if (result.norm() != 0) { result.normalize(); + } return 0; } @@ -218,8 +234,9 @@ int Curvature2DAngleF0D::operator()(Interface0DIterator &iter) } Interface0DIterator v = iter; - if (iter.isBegin()) + if (iter.isBegin()) { ++v; + } Interface0DIterator next = v; ++next; if (next.isEnd()) { @@ -235,21 +252,25 @@ int Curvature2DAngleF0D::operator()(Interface0DIterator &iter) Vec2r AB(B - A); Vec2r BC(C - B); Vec2r N1(-AB[1], AB[0]); - if (N1.norm() != 0) + if (N1.norm() != 0) { N1.normalize(); + } Vec2r N2(-BC[1], BC[0]); - if (N2.norm() != 0) + if (N2.norm() != 0) { N2.normalize(); + } if ((N1.norm() == 0) && (N2.norm() == 0)) { Exception::raiseException(); result = 0; return -1; } double cosin = N1 * N2; - if (cosin > 1) + if (cosin > 1) { cosin = 1; - if (cosin < -1) + } + if (cosin < -1) { cosin = -1; + } result = acos(cosin); return 0; } @@ -287,12 +308,15 @@ int MaterialF0D::operator()(Interface0DIterator &iter) { FEdge *fe1, *fe2; getFEdges(iter, fe1, fe2); - if (fe1 == NULL) + if (fe1 == NULL) { return -1; - if (fe1->isSmooth()) + } + if (fe1->isSmooth()) { result = ((FEdgeSmooth *)fe1)->frs_material(); - else + } + else { result = ((FEdgeSharp *)fe1)->bFrsMaterial(); + } #if 0 const SShape *sshape = getShapeF0D(iter); return sshape->material(); @@ -332,8 +356,9 @@ int CurveNatureF0D::operator()(Interface0DIterator &iter) ViewEdge *ve1, *ve2; getViewEdges(iter, ve1, ve2); nat |= ve1->getNature(); - if (ve2 != NULL) + if (ve2 != NULL) { nat |= ve2->getNature(); + } result = nat; return 0; } diff --git a/source/blender/freestyle/intern/view_map/Functions1D.cpp b/source/blender/freestyle/intern/view_map/Functions1D.cpp index 0c0ab9fd631..a0a320a6e6d 100644 --- a/source/blender/freestyle/intern/view_map/Functions1D.cpp +++ b/source/blender/freestyle/intern/view_map/Functions1D.cpp @@ -134,16 +134,18 @@ int ChainingTimeStampF1D::operator()(Interface1D &inter) { TimeStamp *timestamp = TimeStamp::instance(); ViewEdge *ve = dynamic_cast<ViewEdge *>(&inter); - if (ve) + if (ve) { ve->setChainingTimeStamp(timestamp->getTimeStamp()); + } return 0; } int IncrementChainingTimeStampF1D::operator()(Interface1D &inter) { ViewEdge *ve = dynamic_cast<ViewEdge *>(&inter); - if (ve) + if (ve) { ve->setChainingTimeStamp(ve->getChainingTimeStamp() + 1); + } return 0; } @@ -157,8 +159,9 @@ int GetShapeF1D::operator()(Interface1D &inter) } else { Interface0DIterator it = inter.verticesBegin(), itend = inter.verticesEnd(); - for (; it != itend; ++it) + for (; it != itend; ++it) { shapesSet.insert(Functions0D::getShapeF0D(it)); + } shapesVector.insert<set<ViewShape *>::iterator>( shapesVector.begin(), shapesSet.begin(), shapesSet.end()); } @@ -224,8 +227,9 @@ void getOccludeeF1D(Interface1D &inter, set<ViewShape *> &oShapes) } else { Interface0DIterator it = inter.verticesBegin(), itend = inter.verticesEnd(); - for (; it != itend; ++it) + for (; it != itend; ++it) { oShapes.insert(Functions0D::getOccludeeF0D(it)); + } } } @@ -241,8 +245,9 @@ void getOccludersF1D(Interface1D &inter, set<ViewShape *> &oShapes) for (; it != itend; ++it) { set<ViewShape *> shapes; Functions0D::getOccludersF0D(it, shapes); - for (set<ViewShape *>::iterator s = shapes.begin(), send = shapes.end(); s != send; ++s) + for (set<ViewShape *>::iterator s = shapes.begin(), send = shapes.end(); s != send; ++s) { oShapes.insert(*s); + } } } } @@ -255,8 +260,9 @@ void getShapeF1D(Interface1D &inter, set<ViewShape *> &oShapes) } else { Interface0DIterator it = inter.verticesBegin(), itend = inter.verticesEnd(); - for (; it != itend; ++it) + for (; it != itend; ++it) { oShapes.insert(Functions0D::getShapeF0D(it)); + } } } diff --git a/source/blender/freestyle/intern/view_map/Interface0D.h b/source/blender/freestyle/intern/view_map/Interface0D.h index 3d50e978147..724a98f047f 100644 --- a/source/blender/freestyle/intern/view_map/Interface0D.h +++ b/source/blender/freestyle/intern/view_map/Interface0D.h @@ -196,8 +196,9 @@ class Interface0DIterator : public Iterator { /*! Destructor */ virtual ~Interface0DIterator() { - if (_iterator) + if (_iterator) { delete _iterator; + } } /*! Operator = @@ -207,8 +208,9 @@ class Interface0DIterator : public Iterator { */ Interface0DIterator &operator=(const Interface0DIterator &it) { - if (_iterator) + if (_iterator) { delete _iterator; + } _iterator = it._iterator->copy(); return *this; } @@ -216,8 +218,9 @@ class Interface0DIterator : public Iterator { /*! Returns the string "Interface0DIterator". */ virtual string getExactTypeName() const { - if (!_iterator) + if (!_iterator) { return "Interface0DIterator"; + } return _iterator->getExactTypeName() + "Proxy"; } @@ -299,8 +302,9 @@ class Interface0DIterator : public Iterator { /*! Returns true when the iterator is pointing to the final valid element. */ virtual bool atLast() const { - if (_iterator->isEnd()) + if (_iterator->isEnd()) { return false; + } _iterator->increment(); bool result = _iterator->isEnd(); diff --git a/source/blender/freestyle/intern/view_map/Interface1D.h b/source/blender/freestyle/intern/view_map/Interface1D.h index e47a5ad8f31..7a72a176902 100644 --- a/source/blender/freestyle/intern/view_map/Interface1D.h +++ b/source/blender/freestyle/intern/view_map/Interface1D.h @@ -84,8 +84,9 @@ T integrate(UnaryFunction0D<T> &fun, ++it; for (; !it.isEnd(); ++it) { fun(it); - if (fun.result < res) + if (fun.result < res) { res = fun.result; + } } break; case MAX: @@ -94,8 +95,9 @@ T integrate(UnaryFunction0D<T> &fun, ++it; for (; !it.isEnd(); ++it) { fun(it); - if (fun.result > res) + if (fun.result > res) { res = fun.result; + } } break; case FIRST: diff --git a/source/blender/freestyle/intern/view_map/Silhouette.cpp b/source/blender/freestyle/intern/view_map/Silhouette.cpp index 15fe55874ca..49da675b932 100644 --- a/source/blender/freestyle/intern/view_map/Silhouette.cpp +++ b/source/blender/freestyle/intern/view_map/Silhouette.cpp @@ -35,8 +35,9 @@ namespace Freestyle { Nature::VertexNature SVertex::getNature() const { Nature::VertexNature nature = Nature::S_VERTEX; - if (_pViewVertex) + if (_pViewVertex) { nature |= _pViewVertex->getNature(); + } return nature; } @@ -84,71 +85,81 @@ const SShape *SVertex::shape() const const int SVertex::qi() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->qi(); } occluder_container::const_iterator SVertex::occluders_begin() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occluders_begin(); } occluder_container::const_iterator SVertex::occluders_end() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occluders_end(); } bool SVertex::occluders_empty() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occluders_empty(); } int SVertex::occluders_size() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occluders_size(); } const Polygon3r &SVertex::occludee() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occludee(); } const SShape *SVertex::occluded_shape() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occluded_shape(); } const bool SVertex::occludee_empty() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->occludee_empty(); } real SVertex::z_discontinuity() const { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { Exception::raiseException(); + } return (_FEdges[0])->z_discontinuity(); } FEdge *SVertex::fedge() { - if (getNature() & Nature::T_VERTEX) + if (getNature() & Nature::T_VERTEX) { return NULL; + } return _FEdges[0]; } @@ -156,8 +167,9 @@ FEdge *SVertex::getFEdge(Interface0D &inter) { FEdge *result = NULL; SVertex *iVertexB = dynamic_cast<SVertex *>(&inter); - if (!iVertexB) + if (!iVertexB) { return result; + } vector<FEdge *>::const_iterator fe = _FEdges.begin(), feend = _FEdges.end(); for (; fe != feend; ++fe) { if ((((*fe)->vertexA() == this) && ((*fe)->vertexB() == iVertexB)) || @@ -171,8 +183,9 @@ FEdge *SVertex::getFEdge(Interface0D &inter) TVertex *tvertex = dynamic_cast<TVertex *>(vvertex); if (tvertex) { brother = tvertex->frontSVertex(); - if (this == brother) + if (this == brother) { brother = tvertex->backSVertex(); + } const vector<FEdge *> &fedges = brother->fedges(); for (fe = fedges.begin(), feend = fedges.end(); fe != feend; ++fe) { if ((((*fe)->vertexA() == brother) && ((*fe)->vertexB() == iVertexB)) || @@ -188,8 +201,9 @@ FEdge *SVertex::getFEdge(Interface0D &inter) TVertex *tvertex = dynamic_cast<TVertex *>(vvertex); if (tvertex) { brother = tvertex->frontSVertex(); - if (iVertexB == brother) + if (iVertexB == brother) { brother = tvertex->backSVertex(); + } for (fe = _FEdges.begin(), feend = _FEdges.end(); fe != feend; ++fe) { if ((((*fe)->vertexA() == this) && ((*fe)->vertexB() == brother)) || (((*fe)->vertexB() == this) && ((*fe)->vertexA() == brother))) { @@ -225,8 +239,9 @@ float FEdge::viewedge_length() const const SShape *FEdge::occluded_shape() const { ViewShape *aShape = _ViewEdge->aShape(); - if (aShape == 0) + if (aShape == 0) { return 0; + } return aShape->sshape(); } diff --git a/source/blender/freestyle/intern/view_map/Silhouette.h b/source/blender/freestyle/intern/view_map/Silhouette.h index b5bbe66e51e..e25048c0300 100644 --- a/source/blender/freestyle/intern/view_map/Silhouette.h +++ b/source/blender/freestyle/intern/view_map/Silhouette.h @@ -203,10 +203,12 @@ class SVertex : public Interface0D { _FEdges = iBrother.fedges(); _Shape = iBrother.shape(); _pViewVertex = iBrother._pViewVertex; - if (!(iBrother._curvature_info)) + if (!(iBrother._curvature_info)) { _curvature_info = 0; - else + } + else { _curvature_info = new CurvatureInfo(*(iBrother._curvature_info)); + } iBrother.userdata = this; userdata = 0; } @@ -214,8 +216,9 @@ class SVertex : public Interface0D { /*! Destructor. */ virtual ~SVertex() { - if (_curvature_info) + if (_curvature_info) { delete _curvature_info; + } } /*! Cloning method. */ @@ -312,8 +315,9 @@ class SVertex : public Interface0D { void setCurvatureInfo(CurvatureInfo *ci) { - if (_curvature_info) // Q. is this an error condition? (T.K. 02-May-2011) + if (_curvature_info) { // Q. is this an error condition? (T.K. 02-May-2011) delete _curvature_info; + } _curvature_info = ci; } @@ -415,8 +419,9 @@ class SVertex : public Interface0D { inline Vec3r normal() const { - if (_Normals.size() == 1) + if (_Normals.size() == 1) { return (*(_Normals.begin())); + } Exception::raiseException(); return *(_Normals.begin()); } @@ -483,8 +488,9 @@ class FEdge : public Interface1D { /*! Returns the 2D length of the FEdge. */ virtual real getLength2D() const { - if (!_VertexA || !_VertexB) + if (!_VertexA || !_VertexB) { return 0; + } return (_VertexB->getPoint2D() - _VertexA->getPoint2D()).norm(); } @@ -832,8 +838,9 @@ class FEdge : public Interface1D { */ static inline SVertex *CommonVertex(FEdge *iEdge1, FEdge *iEdge2) { - if ((NULL == iEdge1) || (NULL == iEdge2)) + if ((NULL == iEdge1) || (NULL == iEdge2)) { return NULL; + } SVertex *sv1 = iEdge1->vertexA(); SVertex *sv2 = iEdge1->vertexB(); @@ -852,18 +859,22 @@ class FEdge : public Interface1D { inline const SVertex *min2d() const { - if (_VertexA->point2D() < _VertexB->point2D()) + if (_VertexA->point2D() < _VertexB->point2D()) { return _VertexA; - else + } + else { return _VertexB; + } } inline const SVertex *max2d() const { - if (_VertexA->point2D() < _VertexB->point2D()) + if (_VertexA->point2D() < _VertexB->point2D()) { return _VertexB; - else + } + else { return _VertexA; + } } /* Information access interface */ @@ -1071,8 +1082,9 @@ class SVertexIterator : public Interface0DIteratorNested { virtual bool operator==(const Interface0DIteratorNested &it) const { const SVertexIterator *it_exact = dynamic_cast<const SVertexIterator *>(&it); - if (!it_exact) + if (!it_exact) { return false; + } return ((_vertex == it_exact->_vertex) && (_edge == it_exact->_edge)); } @@ -1614,9 +1626,10 @@ class SShape { T = (*p)[0]; t = (*p)[1]; - if ((t < 0) || (t > 1)) + if ((t < 0) || (t > 1)) { cerr << "Warning: Intersection out of range for edge " << ioA->getId() << " - " << ioB->getId() << endl; + } // compute the 3D and 2D coordinates for the intersections points: newpoint3d = Vec3r(A + T * (B - A)); @@ -1725,8 +1738,9 @@ class SShape { } newEdge->setNature(ioEdge->getNature()); - if (ioEdge->nextEdge() != 0) + if (ioEdge->nextEdge() != 0) { ioEdge->nextEdge()->setPreviousEdge(newEdge); + } // update edge A'B for the next pointing edge newEdge->setNextEdge(ioEdge->nextEdge()); @@ -1769,8 +1783,9 @@ class SShape { /*! Compute the bbox of the sshape */ inline void ComputeBBox() { - if (0 == _verticesList.size()) + if (0 == _verticesList.size()) { return; + } Vec3r firstVertex = _verticesList[0]->point3D(); real XMax = firstVertex[0]; @@ -1787,24 +1802,30 @@ class SShape { Vec3r vertex = (*v)->point3D(); // X real x = vertex[0]; - if (x > XMax) + if (x > XMax) { XMax = x; - else if (x < XMin) + } + else if (x < XMin) { XMin = x; + } // Y real y = vertex[1]; - if (y > YMax) + if (y > YMax) { YMax = y; - else if (y < YMin) + } + else if (y < YMin) { YMin = y; + } // Z real z = vertex[2]; - if (z > ZMax) + if (z > ZMax) { ZMax = z; - else if (z < ZMin) + } + else if (z < ZMin) { ZMin = z; + } } setBBox(BBox<Vec3r>(Vec3r(XMin, YMin, ZMin), Vec3r(XMax, YMax, ZMax))); diff --git a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp index 1d0ac8634dd..66af24507d7 100644 --- a/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp +++ b/source/blender/freestyle/intern/view_map/SilhouetteGeomEngine.cpp @@ -102,8 +102,9 @@ void SilhouetteGeomEngine::setTransform(const real iModelViewMatrix[4][4], for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { _transform[i][j] = 0; - for (unsigned int k = 0; k < 4; k++) + for (unsigned int k = 0; k < 4; k++) { _transform[i][j] += _projectionMatrix[i][k] * _modelViewMatrix[k][j]; + } } } @@ -147,8 +148,9 @@ void SilhouetteGeomEngine::ProjectSilhouette(SVertex *ioVertex) real SilhouetteGeomEngine::ImageToWorldParameter(FEdge *fe, real t) { - if (_isOrthographicProjection) + if (_isOrthographicProjection) { return t; + } // we need to compute for each parameter t the corresponding parameter T which gives the // intersection in 3D. @@ -184,8 +186,9 @@ real SilhouetteGeomEngine::ImageToWorldParameter(FEdge *fe, real t) alpha = ABc[2] / ABc[0]; beta = Ac[2] - alpha * Ac[0]; denom = alpha * (Ir[0] + m13) + m11; - if (fabs(denom) < 1.0e-6) + if (fabs(denom) < 1.0e-6) { goto iter; + } Ic[0] = -beta * (Ir[0] + m13) / denom; #if 0 Ic[1] = -(Ir[1] + m23) * (alpha * Ic[0] + beta) / m22; @@ -197,8 +200,9 @@ real SilhouetteGeomEngine::ImageToWorldParameter(FEdge *fe, real t) alpha = ABc[2] / ABc[1]; beta = Ac[2] - alpha * Ac[1]; denom = alpha * (Ir[1] + m23) + m22; - if (fabs(denom) < 1.0e-6) + if (fabs(denom) < 1.0e-6) { goto iter; + } Ic[1] = -beta * (Ir[1] + m23) / denom; #if 0 Ic[0] = -(Ir[0] + m13) * (alpha * Ic[1] + beta) / m11; @@ -230,34 +234,43 @@ real SilhouetteGeomEngine::ImageToWorldParameter(FEdge *fe, real t) delta_x = Ii[0] - Pi[0]; delta_y = Ii[1] - Pi[1]; dist = sqrt(delta_x * delta_x + delta_y * delta_y); - if (dist < dist_threshold) + if (dist < dist_threshold) { break; + } if (x_coords) { if (less_than) { - if (Pi[0] < Ii[0]) + if (Pi[0] < Ii[0]) { T_sta = T; - else + } + else { T_end = T; + } } else { - if (Pi[0] > Ii[0]) + if (Pi[0] > Ii[0]) { T_sta = T; - else + } + else { T_end = T; + } } } else { if (less_than) { - if (Pi[1] < Ii[1]) + if (Pi[1] < Ii[1]) { T_sta = T; - else + } + else { T_end = T; + } } else { - if (Pi[1] > Ii[1]) + if (Pi[1] > Ii[1]) { T_sta = T; - else + } + else { T_end = T; + } } } } diff --git a/source/blender/freestyle/intern/view_map/SteerableViewMap.cpp b/source/blender/freestyle/intern/view_map/SteerableViewMap.cpp index d1f9a5b41bd..862b4e479fa 100644 --- a/source/blender/freestyle/intern/view_map/SteerableViewMap.cpp +++ b/source/blender/freestyle/intern/view_map/SteerableViewMap.cpp @@ -69,9 +69,10 @@ SteerableViewMap::SteerableViewMap(const SteerableViewMap &iBrother) _mapping = iBrother._mapping; _imagesPyramids = new ImagePyramid *[_nbOrientations + 1]; // one more map to store the complete visible VM - for (i = 0; i <= _nbOrientations; ++i) + for (i = 0; i <= _nbOrientations; ++i) { _imagesPyramids[i] = new GaussianPyramid( *(dynamic_cast<GaussianPyramid *>(iBrother._imagesPyramids[i]))); + } } SteerableViewMap::~SteerableViewMap() @@ -84,8 +85,9 @@ void SteerableViewMap::Clear() unsigned int i; if (_imagesPyramids) { for (i = 0; i <= _nbOrientations; ++i) { - if (_imagesPyramids[i]) + if (_imagesPyramids[i]) { delete (_imagesPyramids)[i]; + } } delete[] _imagesPyramids; _imagesPyramids = 0; @@ -109,10 +111,12 @@ void SteerableViewMap::Reset() double SteerableViewMap::ComputeWeight(const Vec2d &dir, unsigned i) { double dotp = fabs(dir * _directions[i]); - if (dotp < _bound) + if (dotp < _bound) { return 0.0; - if (dotp > 1.0) + } + if (dotp > 1.0) { dotp = 1.0; + } return cos((float)_nbOrientations / 2.0 * acos(dotp)); } @@ -191,12 +195,15 @@ void SteerableViewMap::buildImagesPyramids(GrayImage **steerableBases, { for (unsigned int i = 0; i <= _nbOrientations; ++i) { ImagePyramid *svm = (_imagesPyramids)[i]; - if (svm) + if (svm) { delete svm; - if (copy) + } + if (copy) { svm = new GaussianPyramid(*(steerableBases[i]), iNbLevels, iSigma); - else + } + else { svm = new GaussianPyramid(steerableBases[i], iNbLevels, iSigma); + } _imagesPyramids[i] = svm; } } @@ -210,8 +217,9 @@ float SteerableViewMap::readSteerableViewMapPixel(unsigned iOrientation, int iLe } return 0.0f; } - if ((x < 0) || (x >= pyramid->width()) || (y < 0) || (y >= pyramid->height())) + if ((x < 0) || (x >= pyramid->width()) || (y < 0) || (y >= pyramid->height())) { return 0; + } // float v = pyramid->pixel(x, pyramid->height() - 1 - y, iLevel) * 255.0f; // We encode both the directionality and the lines counting on 8 bits (because of frame buffer). // Thus, we allow until 8 lines to pass through the same pixel, so that we can discretize the @@ -228,8 +236,9 @@ float SteerableViewMap::readCompleteViewMapPixel(int iLevel, int x, int y) unsigned int SteerableViewMap::getNumberOfPyramidLevels() const { - if (_imagesPyramids[0]) + if (_imagesPyramids[0]) { return _imagesPyramids[0]->getNumberOfLevels(); + } return 0; } @@ -258,8 +267,9 @@ void SteerableViewMap::saveSteerableViewMap() const for (int y = 0; y < oh; ++y) { // soc for (int x = 0; x < ow; ++x) { // soc int c = (int)(coeff * _imagesPyramids[i]->pixel(x, y, j)); - if (c > 255) + if (c > 255) { c = 255; + } // int c = (int)(_imagesPyramids[i]->pixel(x, y, j)); // soc qtmp.setPixel(x, y, qRgb(c, c, c)); diff --git a/source/blender/freestyle/intern/view_map/ViewEdgeXBuilder.cpp b/source/blender/freestyle/intern/view_map/ViewEdgeXBuilder.cpp index 8715f4f52d9..fde4ee7e476 100644 --- a/source/blender/freestyle/intern/view_map/ViewEdgeXBuilder.cpp +++ b/source/blender/freestyle/intern/view_map/ViewEdgeXBuilder.cpp @@ -33,20 +33,23 @@ namespace Freestyle { void ViewEdgeXBuilder::Init(ViewShape *oVShape) { - if (NULL == oVShape) + if (NULL == oVShape) { return; + } // for design conveniance, we store the current SShape. _pCurrentSShape = oVShape->sshape(); - if (0 == _pCurrentSShape) + if (0 == _pCurrentSShape) { return; + } _pCurrentVShape = oVShape; // Reset previous data //-------------------- - if (!_SVertexMap.empty()) + if (!_SVertexMap.empty()) { _SVertexMap.clear(); + } } void ViewEdgeXBuilder::BuildViewEdges(WXShape *iWShape, @@ -68,17 +71,20 @@ void ViewEdgeXBuilder::BuildViewEdges(WXShape *iWShape, WXFace *wxf; for (wf = wfaces.begin(), wfend = wfaces.end(); wf != wfend; wf++) { wxf = dynamic_cast<WXFace *>(*wf); - if (false == ((wxf))->hasSmoothEdges()) // does it contain at least one smooth edge ? + if (false == ((wxf))->hasSmoothEdges()) { // does it contain at least one smooth edge ? continue; + } // parse all smooth layers: vector<WXFaceLayer *> &smoothLayers = wxf->getSmoothLayers(); for (vector<WXFaceLayer *>::iterator sl = smoothLayers.begin(), slend = smoothLayers.end(); sl != slend; ++sl) { - if (!(*sl)->hasSmoothEdge()) + if (!(*sl)->hasSmoothEdge()) { continue; - if (stopSmoothViewEdge((*sl))) // has it been parsed already ? + } + if (stopSmoothViewEdge((*sl))) { // has it been parsed already ? continue; + } // here we know that we're dealing with a face layer that has not been processed yet and that // contains a smooth edge. /* vedge =*//* UNUSED */ BuildSmoothViewEdge(OWXFaceLayer(*sl, true)); @@ -96,13 +102,15 @@ void ViewEdgeXBuilder::BuildViewEdges(WXShape *iWShape, //------------------------------ for (vector<WEdge *>::iterator we = wedges.begin(), weend = wedges.end(); we != weend; we++) { wxe = dynamic_cast<WXEdge *>(*we); - if (Nature::NO_FEATURE == wxe->nature()) + if (Nature::NO_FEATURE == wxe->nature()) { continue; + } if (!stopSharpViewEdge(wxe)) { bool b = true; - if (wxe->order() == -1) + if (wxe->order() == -1) { b = false; + } BuildSharpViewEdge(OWXEdge(wxe, b)); } } @@ -174,11 +182,13 @@ ViewEdge *ViewEdgeXBuilder::BuildSmoothViewEdge(const OWXFaceLayer &iFaceLayer) for (list<OWXFaceLayer>::iterator fl = facesChain.begin(), flend = facesChain.end(); fl != flend; ++fl) { fe = BuildSmoothFEdge(feprevious, (*fl)); - if (feprevious && fe == feprevious) + if (feprevious && fe == feprevious) { continue; + } fe->setViewEdge(newVEdge); - if (!fefirst) + if (!fefirst) { fefirst = fe; + } feprevious = fe; } // Store the chain starting edge: @@ -259,8 +269,9 @@ ViewEdge *ViewEdgeXBuilder::BuildSharpViewEdge(const OWXEdge &iWEdge) ++we) { fe = BuildSharpFEdge(feprevious, (*we)); fe->setViewEdge(newVEdge); - if (!fefirst) + if (!fefirst) { fefirst = fe; + } feprevious = fe; } // Store the chain starting edge: @@ -306,12 +317,15 @@ OWXFaceLayer ViewEdgeXBuilder::FindNextFaceLayer(const OWXFaceLayer &iFaceLayer) // special case of EDGE_VERTEX config: if ((tend == 0.0) || (tend == 1.0)) { WVertex *nextVertex; - if (tend == 0.0) + if (tend == 0.0) { nextVertex = woeend->GetaVertex(); - else + } + else { nextVertex = woeend->GetbVertex(); - if (nextVertex->isBoundary()) // if it's a non-manifold vertex -> ignore + } + if (nextVertex->isBoundary()) { // if it's a non-manifold vertex -> ignore return OWXFaceLayer(0, true); + } bool found = false; WVertex::face_iterator f = nextVertex->faces_begin(); WVertex::face_iterator fend = nextVertex->faces_end(); @@ -324,12 +338,15 @@ OWXFaceLayer ViewEdgeXBuilder::FindNextFaceLayer(const OWXFaceLayer &iFaceLayer) if (sameNatureLayers.size() == 1) { WXFaceLayer *winner = sameNatureLayers[0]; // check face mark continuity - if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) + if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) { return OWXFaceLayer(NULL, true); - if (woeend == winner->getSmoothEdge()->woea()->twin()) + } + if (woeend == winner->getSmoothEdge()->woea()->twin()) { return OWXFaceLayer(winner, true); - else + } + else { return OWXFaceLayer(winner, false); + } } } ++f; @@ -337,12 +354,14 @@ OWXFaceLayer ViewEdgeXBuilder::FindNextFaceLayer(const OWXFaceLayer &iFaceLayer) } else { nextFace = dynamic_cast<WXFace *>(iFaceLayer.fl->getFace()->GetBordingFace(woeend)); - if (!nextFace) + if (!nextFace) { return OWXFaceLayer(NULL, true); + } // if the next face layer has either no smooth edge or no smooth edge of same nature, no next // face - if (!nextFace->hasSmoothEdges()) + if (!nextFace->hasSmoothEdges()) { return OWXFaceLayer(NULL, true); + } vector<WXFaceLayer *> sameNatureLayers; nextFace->retrieveSmoothEdgesLayers(iFaceLayer.fl->nature(), sameNatureLayers); // don't know how to deal with several edges of same nature on a single face @@ -352,12 +371,15 @@ OWXFaceLayer ViewEdgeXBuilder::FindNextFaceLayer(const OWXFaceLayer &iFaceLayer) else { WXFaceLayer *winner = sameNatureLayers[0]; // check face mark continuity - if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) + if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) { return OWXFaceLayer(NULL, true); - if (woeend == winner->getSmoothEdge()->woea()->twin()) + } + if (woeend == winner->getSmoothEdge()->woea()->twin()) { return OWXFaceLayer(winner, true); - else + } + else { return OWXFaceLayer(winner, false); + } } } return OWXFaceLayer(NULL, true); @@ -380,12 +402,15 @@ OWXFaceLayer ViewEdgeXBuilder::FindPreviousFaceLayer(const OWXFaceLayer &iFaceLa // special case of EDGE_VERTEX config: if ((tend == 0.0) || (tend == 1.0)) { WVertex *previousVertex; - if (tend == 0.0) + if (tend == 0.0) { previousVertex = woebegin->GetaVertex(); - else + } + else { previousVertex = woebegin->GetbVertex(); - if (previousVertex->isBoundary()) // if it's a non-manifold vertex -> ignore + } + if (previousVertex->isBoundary()) { // if it's a non-manifold vertex -> ignore return OWXFaceLayer(NULL, true); + } bool found = false; WVertex::face_iterator f = previousVertex->faces_begin(); WVertex::face_iterator fend = previousVertex->faces_end(); @@ -398,24 +423,29 @@ OWXFaceLayer ViewEdgeXBuilder::FindPreviousFaceLayer(const OWXFaceLayer &iFaceLa if (sameNatureLayers.size() == 1) { WXFaceLayer *winner = sameNatureLayers[0]; // check face mark continuity - if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) + if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) { return OWXFaceLayer(NULL, true); - if (woebegin == winner->getSmoothEdge()->woeb()->twin()) + } + if (woebegin == winner->getSmoothEdge()->woeb()->twin()) { return OWXFaceLayer(winner, true); - else + } + else { return OWXFaceLayer(winner, false); + } } } } } else { previousFace = dynamic_cast<WXFace *>(iFaceLayer.fl->getFace()->GetBordingFace(woebegin)); - if (0 == previousFace) + if (0 == previousFace) { return OWXFaceLayer(NULL, true); + } // if the next face layer has either no smooth edge or no smooth edge of same nature, no next // face - if (!previousFace->hasSmoothEdges()) + if (!previousFace->hasSmoothEdges()) { return OWXFaceLayer(NULL, true); + } vector<WXFaceLayer *> sameNatureLayers; previousFace->retrieveSmoothEdgesLayers(iFaceLayer.fl->nature(), sameNatureLayers); // don't know how to deal with several edges of same nature on a single face @@ -425,12 +455,15 @@ OWXFaceLayer ViewEdgeXBuilder::FindPreviousFaceLayer(const OWXFaceLayer &iFaceLa else { WXFaceLayer *winner = sameNatureLayers[0]; // check face mark continuity - if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) + if (winner->getFace()->GetMark() != iFaceLayer.fl->getFace()->GetMark()) { return OWXFaceLayer(NULL, true); - if (woebegin == winner->getSmoothEdge()->woeb()->twin()) + } + if (woebegin == winner->getSmoothEdge()->woeb()->twin()) { return OWXFaceLayer(winner, true); - else + } + else { return OWXFaceLayer(winner, false); + } } } return OWXFaceLayer(NULL, true); @@ -489,8 +522,9 @@ FEdge *ViewEdgeXBuilder::BuildSmoothFEdge(FEdge *feprevious, const OWXFaceLayer Vec3r B2(woeb->GetbVertex()->GetVertex()); Vec3r B(B1 + tb * (B2 - B1)); - if (feprevious && (B - va->point3D()).norm() < 1.0e-6) + if (feprevious && (B - va->point3D()).norm() < 1.0e-6) { return feprevious; + } vb = MakeSVertex(B, false); // Set normal: @@ -515,12 +549,14 @@ FEdge *ViewEdgeXBuilder::BuildSmoothFEdge(FEdge *feprevious, const OWXFaceLayer fe->setFrsMaterialIndex(ifl.fl->getFace()->frs_materialIndex()); fe->setFace(ifl.fl->getFace()); fe->setFaceMark(ifl.fl->getFace()->GetMark()); - if (feprevious == 0) + if (feprevious == 0) { normal.normalize(); + } fe->setNormal(normal); fe->setPreviousEdge(feprevious); - if (feprevious) + if (feprevious) { feprevious->setNextEdge(fe); + } _pCurrentSShape->AddEdge(fe); va->AddFEdge(fe); vb->AddFEdge(fe); @@ -532,10 +568,12 @@ FEdge *ViewEdgeXBuilder::BuildSmoothFEdge(FEdge *feprevious, const OWXFaceLayer bool ViewEdgeXBuilder::stopSmoothViewEdge(WXFaceLayer *iFaceLayer) { - if (NULL == iFaceLayer) + if (NULL == iFaceLayer) { return true; - if (iFaceLayer->userdata == 0) + } + if (iFaceLayer->userdata == 0) { return false; + } return true; } @@ -544,40 +582,49 @@ int ViewEdgeXBuilder::retrieveFaceMarks(WXEdge *iEdge) WFace *aFace = iEdge->GetaFace(); WFace *bFace = iEdge->GetbFace(); int result = 0; - if (aFace && aFace->GetMark()) + if (aFace && aFace->GetMark()) { result += 1; - if (bFace && bFace->GetMark()) + } + if (bFace && bFace->GetMark()) { result += 2; + } return result; } OWXEdge ViewEdgeXBuilder::FindNextWEdge(const OWXEdge &iEdge) { - if (Nature::NO_FEATURE == iEdge.e->nature()) + if (Nature::NO_FEATURE == iEdge.e->nature()) { return OWXEdge(NULL, true); + } WVertex *v; - if (true == iEdge.order) + if (true == iEdge.order) { v = iEdge.e->GetbVertex(); - else + } + else { v = iEdge.e->GetaVertex(); + } - if (((WXVertex *)v)->isFeature()) + if (((WXVertex *)v)->isFeature()) { return 0; /* XXX eeek? NULL? OWXEdge(NULL, true/false)?*/ + } int faceMarks = retrieveFaceMarks(iEdge.e); vector<WEdge *> &vEdges = (v)->GetEdges(); for (vector<WEdge *>::iterator ve = vEdges.begin(), veend = vEdges.end(); ve != veend; ve++) { WXEdge *wxe = dynamic_cast<WXEdge *>(*ve); - if (wxe == iEdge.e) + if (wxe == iEdge.e) { continue; // same edge as the one processed + } - if (wxe->nature() != iEdge.e->nature()) + if (wxe->nature() != iEdge.e->nature()) { continue; + } // check face mark continuity - if (retrieveFaceMarks(wxe) != faceMarks) + if (retrieveFaceMarks(wxe) != faceMarks) { continue; + } if (wxe->GetaVertex() == v) { // That means that the face necesarily lies on the edge left. @@ -596,31 +643,38 @@ OWXEdge ViewEdgeXBuilder::FindNextWEdge(const OWXEdge &iEdge) OWXEdge ViewEdgeXBuilder::FindPreviousWEdge(const OWXEdge &iEdge) { - if (Nature::NO_FEATURE == iEdge.e->nature()) + if (Nature::NO_FEATURE == iEdge.e->nature()) { return OWXEdge(NULL, true); + } WVertex *v; - if (true == iEdge.order) + if (true == iEdge.order) { v = iEdge.e->GetaVertex(); - else + } + else { v = iEdge.e->GetbVertex(); + } - if (((WXVertex *)v)->isFeature()) + if (((WXVertex *)v)->isFeature()) { return 0; + } int faceMarks = retrieveFaceMarks(iEdge.e); vector<WEdge *> &vEdges = (v)->GetEdges(); for (vector<WEdge *>::iterator ve = vEdges.begin(), veend = vEdges.end(); ve != veend; ve++) { WXEdge *wxe = dynamic_cast<WXEdge *>(*ve); - if (wxe == iEdge.e) + if (wxe == iEdge.e) { continue; // same edge as the one processed + } - if (wxe->nature() != iEdge.e->nature()) + if (wxe->nature() != iEdge.e->nature()) { continue; + } // check face mark continuity - if (retrieveFaceMarks(wxe) != faceMarks) + if (retrieveFaceMarks(wxe) != faceMarks) { continue; + } if (wxe->GetbVertex() == v) { return OWXEdge(wxe, true); @@ -685,8 +739,9 @@ FEdge *ViewEdgeXBuilder::BuildSharpFEdge(FEdge *feprevious, const OWXEdge &iwe) fe->setNormalA(normalA); fe->setNormalB(normalB); fe->setPreviousEdge(feprevious); - if (feprevious) + if (feprevious) { feprevious->setNextEdge(fe); + } _pCurrentSShape->AddEdge(fe); va->AddFEdge(fe); vb->AddFEdge(fe); @@ -703,10 +758,12 @@ FEdge *ViewEdgeXBuilder::BuildSharpFEdge(FEdge *feprevious, const OWXEdge &iwe) bool ViewEdgeXBuilder::stopSharpViewEdge(WXEdge *iEdge) { - if (NULL == iEdge) + if (NULL == iEdge) { return true; - if (iEdge->userdata == 0) + } + if (iEdge->userdata == 0) { return false; + } return true; } @@ -744,8 +801,9 @@ SVertex *ViewEdgeXBuilder::MakeSVertex(Vec3r &iPoint, bool shared) ViewVertex *ViewEdgeXBuilder::MakeViewVertex(SVertex *iSVertex) { ViewVertex *vva = iSVertex->viewvertex(); - if (vva) + if (vva) { return vva; + } vva = new NonTVertex(iSVertex); // Add the view vertex to the ViewShape svertex list: _pCurrentVShape->AddVertex(vva); diff --git a/source/blender/freestyle/intern/view_map/ViewMap.cpp b/source/blender/freestyle/intern/view_map/ViewMap.cpp index 0b352be1a89..0d52b88118b 100644 --- a/source/blender/freestyle/intern/view_map/ViewMap.cpp +++ b/source/blender/freestyle/intern/view_map/ViewMap.cpp @@ -133,8 +133,9 @@ const ViewEdge *ViewMap::getClosestViewEdge(real x, real y) const winner = (*fe); } } - if (!winner) + if (!winner) { return NULL; + } return winner->viewedge(); } @@ -161,10 +162,12 @@ TVertex *ViewMap::CreateTVertex(const Vec3r &iA3D, real distb = Ib->point2D()[2]; TVertex *tvertex; - if (dista < distb) + if (dista < distb) { tvertex = new TVertex(Ia, Ib); - else + } + else { tvertex = new TVertex(Ib, Ia); + } tvertex->setId(id); @@ -183,8 +186,9 @@ TVertex *ViewMap::CreateTVertex(const Vec3r &iA3D, ViewVertex *ViewMap::InsertViewVertex(SVertex *iVertex, vector<ViewEdge *> &newViewEdges) { NonTVertex *vva = dynamic_cast<NonTVertex *>(iVertex->viewvertex()); - if (vva) + if (vva) { return vva; + } // because it is not already a ViewVertex, this SVertex must have only 2 FEdges. The incoming one // still belongs to ioEdge, the outgoing one now belongs to newVEdge const vector<FEdge *> &fedges = iVertex->fedges(); @@ -201,8 +205,9 @@ ViewVertex *ViewMap::InsertViewVertex(SVertex *iVertex, vector<ViewEdge *> &newV if ((*fe)->vertexA() == iVertex) { fbegin = (*fe); } - if ((fbegin != NULL) && (fend != NULL)) + if ((fbegin != NULL) && (fend != NULL)) { break; + } } ViewEdge *ioEdge = fbegin->viewedge(); ViewShape *vshape = ioEdge->viewShape(); @@ -249,8 +254,9 @@ ViewVertex *ViewMap::InsertViewVertex(SVertex *iVertex, vector<ViewEdge *> &newV vva->AddIncomingViewEdge(ioEdge); NonTVertex *vvb = dynamic_cast<NonTVertex *>(newVEdge->B()); - if (vvb) + if (vvb) { vvb->Replace(ioEdge, newVEdge); + } // update ViewShape // vshape->AddEdge(newVEdge); @@ -293,15 +299,19 @@ FEdge *ViewMap::Connect(FEdge *ioEdge, SVertex *ioVertex, vector<ViewEdge *> &oN static bool ViewEdgeComp(ViewVertex::directedViewEdge &dve1, ViewVertex::directedViewEdge &dve2) { FEdge *fe1; - if (dve1.second) + if (dve1.second) { fe1 = dve1.first->fedgeB(); - else + } + else { fe1 = dve1.first->fedgeA(); + } FEdge *fe2; - if (dve2.second) + if (dve2.second) { fe2 = dve2.first->fedgeB(); - else + } + else { fe2 = dve2.first->fedgeA(); + } Vec3r V1 = fe1->orientation2d(); Vec2r v1(V1.x(), V1.y()); @@ -310,16 +320,20 @@ static bool ViewEdgeComp(ViewVertex::directedViewEdge &dve1, ViewVertex::directe Vec2r v2(V2.x(), V2.y()); v2.normalize(); if (v1.y() > 0) { - if (v2.y() < 0) + if (v2.y() < 0) { return true; - else + } + else { return (v1.x() > v2.x()); + } } else { - if (v2.y() > 0) + if (v2.y() > 0) { return false; - else + } + else { return (v1.x() < v2.x()); + } } return false; } @@ -333,8 +347,9 @@ void TVertex::setFrontEdgeA(ViewEdge *iFrontEdgeA, bool incoming) _FrontEdgeA = directedViewEdge(iFrontEdgeA, incoming); if (!_sortedEdges.empty()) { edge_pointers_container::iterator dve = _sortedEdges.begin(), dveend = _sortedEdges.end(); - for (; (dve != dveend) && ViewEdgeComp(**dve, _FrontEdgeA); ++dve) + for (; (dve != dveend) && ViewEdgeComp(**dve, _FrontEdgeA); ++dve) { ; + } _sortedEdges.insert(dve, &_FrontEdgeA); } else { @@ -351,8 +366,9 @@ void TVertex::setFrontEdgeB(ViewEdge *iFrontEdgeB, bool incoming) _FrontEdgeB = directedViewEdge(iFrontEdgeB, incoming); if (!_sortedEdges.empty()) { edge_pointers_container::iterator dve = _sortedEdges.begin(), dveend = _sortedEdges.end(); - for (; (dve != dveend) && ViewEdgeComp(**dve, _FrontEdgeB); ++dve) + for (; (dve != dveend) && ViewEdgeComp(**dve, _FrontEdgeB); ++dve) { ; + } _sortedEdges.insert(dve, &_FrontEdgeB); } else { @@ -369,8 +385,9 @@ void TVertex::setBackEdgeA(ViewEdge *iBackEdgeA, bool incoming) _BackEdgeA = directedViewEdge(iBackEdgeA, incoming); if (!_sortedEdges.empty()) { edge_pointers_container::iterator dve = _sortedEdges.begin(), dveend = _sortedEdges.end(); - for (; (dve != dveend) && ViewEdgeComp(**dve, _BackEdgeA); ++dve) + for (; (dve != dveend) && ViewEdgeComp(**dve, _BackEdgeA); ++dve) { ; + } _sortedEdges.insert(dve, &_BackEdgeA); } else { @@ -387,8 +404,9 @@ void TVertex::setBackEdgeB(ViewEdge *iBackEdgeB, bool incoming) _BackEdgeB = directedViewEdge(iBackEdgeB, incoming); if (!_sortedEdges.empty()) { edge_pointers_container::iterator dve = _sortedEdges.begin(), dveend = _sortedEdges.end(); - for (; (dve != dveend) && ViewEdgeComp(**dve, _BackEdgeB); ++dve) + for (; (dve != dveend) && ViewEdgeComp(**dve, _BackEdgeB); ++dve) { ; + } _sortedEdges.insert(dve, &_BackEdgeB); } else { @@ -450,8 +468,9 @@ ViewVertex::edge_iterator TVertex::edges_iterator(ViewEdge *iEdge) for (edge_pointers_container::iterator it = _sortedEdges.begin(), itend = _sortedEdges.end(); it != itend; it++) { - if ((*it)->first == iEdge) + if ((*it)->first == iEdge) { return edge_iterator(_sortedEdges.begin(), _sortedEdges.end(), it); + } } return edge_iterator(_sortedEdges.begin(), _sortedEdges.end(), _sortedEdges.begin()); @@ -475,8 +494,9 @@ ViewVertex::const_edge_iterator TVertex::edges_iterator(ViewEdge *iEdge) const itend = _sortedEdges.end(); it != itend; it++) { - if ((*it)->first == iEdge) + if ((*it)->first == iEdge) { return const_edge_iterator(_sortedEdges.begin(), _sortedEdges.end(), it); + } } return const_edge_iterator(_sortedEdges.begin(), _sortedEdges.end(), _sortedEdges.begin()); @@ -511,9 +531,10 @@ ViewVertexInternal::orientedViewEdgeIterator TVertex::edgesIterator(ViewEdge *iE for (edge_pointers_container::iterator it = _sortedEdges.begin(), itend = _sortedEdges.end(); it != itend; it++) { - if ((*it)->first == iEdge) + if ((*it)->first == iEdge) { return ViewVertexInternal::orientedViewEdgeIterator( _sortedEdges.begin(), _sortedEdges.end(), it); + } } return ViewVertexInternal::orientedViewEdgeIterator( _sortedEdges.begin(), _sortedEdges.end(), _sortedEdges.begin()); @@ -533,8 +554,9 @@ void NonTVertex::AddOutgoingViewEdge(ViewEdge *iVEdge) directedViewEdge idve(iVEdge, false); if (!_ViewEdges.empty()) { edges_container::iterator dve = _ViewEdges.begin(), dveend = _ViewEdges.end(); - for (; (dve != dveend) && ViewEdgeComp(*dve, idve); ++dve) + for (; (dve != dveend) && ViewEdgeComp(*dve, idve); ++dve) { ; + } _ViewEdges.insert(dve, idve); } else { @@ -548,8 +570,9 @@ void NonTVertex::AddIncomingViewEdge(ViewEdge *iVEdge) directedViewEdge idve(iVEdge, true); if (!_ViewEdges.empty()) { edges_container::iterator dve = _ViewEdges.begin(), dveend = _ViewEdges.end(); - for (; (dve != dveend) && ViewEdgeComp(*dve, idve); ++dve) + for (; (dve != dveend) && ViewEdgeComp(*dve, idve); ++dve) { ; + } _ViewEdges.insert(dve, idve); } else { @@ -582,8 +605,9 @@ ViewVertex::edge_iterator NonTVertex::edges_iterator(ViewEdge *iEdge) { for (edges_container::iterator it = _ViewEdges.begin(), itend = _ViewEdges.end(); it != itend; it++) { - if ((it)->first == iEdge) + if ((it)->first == iEdge) { return edge_iterator(_ViewEdges.begin(), _ViewEdges.end(), it); + } } return edge_iterator(_ViewEdges.begin(), _ViewEdges.end(), _ViewEdges.begin()); } @@ -593,8 +617,9 @@ ViewVertex::const_edge_iterator NonTVertex::edges_iterator(ViewEdge *iEdge) cons for (edges_container::const_iterator it = _ViewEdges.begin(), itend = _ViewEdges.end(); it != itend; it++) { - if ((it)->first == iEdge) + if ((it)->first == iEdge) { return const_edge_iterator(_ViewEdges.begin(), _ViewEdges.end(), it); + } } return const_edge_iterator(_ViewEdges.begin(), _ViewEdges.end(), _ViewEdges.begin()); } @@ -615,9 +640,10 @@ ViewVertexInternal::orientedViewEdgeIterator NonTVertex::edgesIterator(ViewEdge { for (edges_container::iterator it = _ViewEdges.begin(), itend = _ViewEdges.end(); it != itend; it++) { - if ((it)->first == iEdge) + if ((it)->first == iEdge) { return ViewVertexInternal::orientedViewEdgeIterator( _ViewEdges.begin(), _ViewEdges.end(), it); + } } return ViewVertexInternal::orientedViewEdgeIterator( _ViewEdges.begin(), _ViewEdges.end(), _ViewEdges.begin()); diff --git a/source/blender/freestyle/intern/view_map/ViewMap.h b/source/blender/freestyle/intern/view_map/ViewMap.h index 9b1eab0d905..a6ca4e3c072 100644 --- a/source/blender/freestyle/intern/view_map/ViewMap.h +++ b/source/blender/freestyle/intern/view_map/ViewMap.h @@ -593,14 +593,16 @@ class TVertex : public ViewVertex { const vector<FEdge *> &vfEdges = _FrontSVertex->fedges(); vector<FEdge *>::const_iterator fe, fend; for (fe = vfEdges.begin(), fend = vfEdges.end(); fe != fend; fe++) { - if ((*fe) == iFEdge) + if ((*fe) == iFEdge) { return _FrontSVertex; + } } const vector<FEdge *> &vbEdges = _BackSVertex->fedges(); for (fe = vbEdges.begin(), fend = vbEdges.end(); fe != fend; fe++) { - if ((*fe) == iFEdge) + if ((*fe) == iFEdge) { return _BackSVertex; + } } return NULL; } @@ -613,14 +615,18 @@ class TVertex : public ViewVertex { */ virtual ViewEdge *mate(ViewEdge *iEdgeA) { - if (iEdgeA == _FrontEdgeA.first) + if (iEdgeA == _FrontEdgeA.first) { return _FrontEdgeB.first; - if (iEdgeA == _FrontEdgeB.first) + } + if (iEdgeA == _FrontEdgeB.first) { return _FrontEdgeA.first; - if (iEdgeA == _BackEdgeA.first) + } + if (iEdgeA == _BackEdgeA.first) { return _BackEdgeB.first; - if (iEdgeA == _BackEdgeB.first) + } + if (iEdgeA == _BackEdgeB.first) { return _BackEdgeA.first; + } return NULL; } @@ -818,10 +824,12 @@ class NonTVertex : public ViewVertex { inline void AddViewEdge(ViewEdge *iVEdge, bool incoming = true) { - if (incoming) + if (incoming) { AddIncomingViewEdge(iVEdge); - else + } + else { AddOutgoingViewEdge(iVEdge); + } } /* Replaces old edge by new edge */ @@ -1059,8 +1067,9 @@ class ViewEdge : public Interface1D { #endif // only the last splitted deletes this id if (_splittingId) { - if (*_splittingId == _Id) + if (*_splittingId == _Id) { delete _splittingId; + } } } @@ -1106,8 +1115,9 @@ class ViewEdge : public Interface1D { /*! Tells whether this ViewEdge forms a closed loop or not. */ inline bool isClosed() { - if (!__B) + if (!__B) { return true; + } return false; } @@ -1314,8 +1324,9 @@ class ViewEdge : public Interface1D { inline const bool occludee_empty() const { - if (_aShape == 0) + if (_aShape == 0) { return true; + } return false; } @@ -1658,13 +1669,15 @@ void ViewShape::SplitEdge(FEdge *fe, sv2 = (*vv)->backSVertex(); if (sv->shape() != sv2->shape()) { - if (sv->shape() != _SShape) + if (sv->shape() != _SShape) { sv = sv2; + } } else { // if the shape is the same we can safely differ the two vertices using their ids: - if (sv->getId() != fe->vertexA()->getId()) + if (sv->getId() != fe->vertexA()->getId()) { sv = sv2; + } } vva = vEdge->A(); @@ -1705,10 +1718,12 @@ void ViewShape::SplitEdge(FEdge *fe, newVEdge->setFEdgeA(newEdge); // newVEdge->setFEdgeB(fe); // If our original viewedge is made of one FEdge, then - if ((vEdge->fedgeA() == vEdge->fedgeB()) || (fe == vEdge->fedgeB())) + if ((vEdge->fedgeA() == vEdge->fedgeB()) || (fe == vEdge->fedgeB())) { newVEdge->setFEdgeB(newEdge); - else + } + else { newVEdge->setFEdgeB(vEdge->fedgeB()); // MODIF + } Id *newId = vEdge->splittingId(); if (newId == 0) { @@ -1729,8 +1744,9 @@ void ViewShape::SplitEdge(FEdge *fe, // add new edge to the list of new edges passed as argument: ioNewViewEdges.push_back(newVEdge); - if (0 != vvb) + if (0 != vvb) { vvb->Replace((vEdge), newVEdge); + } // we split the view edge: vEdge->setB((*vv)); @@ -1795,8 +1811,9 @@ inline real ViewEdge::local_average_density(float sigma, int iCombination) const inline const SShape *ViewEdge::occluded_shape() const { - if (0 == _aShape) + if (0 == _aShape) { return 0; + } return _aShape->sshape(); } diff --git a/source/blender/freestyle/intern/view_map/ViewMapAdvancedIterators.h b/source/blender/freestyle/intern/view_map/ViewMapAdvancedIterators.h index 63343c33c4f..0ccf0d382a2 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapAdvancedIterators.h +++ b/source/blender/freestyle/intern/view_map/ViewMapAdvancedIterators.h @@ -206,20 +206,24 @@ class edge_iterator_base : public IteratorBase<Traits, InputIteratorTag_Traits> public: virtual bool begin() const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { return (_tvertex_iter == _tbegin); - // return (_tvertex_iter == _feA); - else + // return (_tvertex_iter == _feA); + } + else { return (_nontvertex_iter == _begin); + } } virtual bool end() const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { // return (_tvertex_iter.first == 0); return (_tvertex_iter == _tend); - else + } + else { return (_nontvertex_iter == _end); + } } // operators @@ -242,10 +246,12 @@ class edge_iterator_base : public IteratorBase<Traits, InputIteratorTag_Traits> // comparibility virtual bool operator!=(const Self &b) const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { return (_tvertex_iter != b._tvertex_iter); - else + } + else { return (_nontvertex_iter != b._nontvertex_iter); + } } virtual bool operator==(const Self &b) const @@ -256,11 +262,13 @@ class edge_iterator_base : public IteratorBase<Traits, InputIteratorTag_Traits> // dereferencing virtual reference operator*() const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { // return _tvertex_iter; return **_tvertex_iter; - else + } + else { return (*_nontvertex_iter); + } } virtual pointer operator->() const @@ -275,8 +283,9 @@ class edge_iterator_base : public IteratorBase<Traits, InputIteratorTag_Traits> value_type tmp = (**_tvertex_iter); ++_tvertex_iter; value_type tmp2 = (**_tvertex_iter); - if (tmp2.first == tmp.first) + if (tmp2.first == tmp.first) { ++_tvertex_iter; + } #if 0 // Hack to deal with cusp. the result of a cusp is a TVertex having two identical viewedges. // In order to iterate properly, we chose to skip these last ones. diff --git a/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp b/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp index f990b7bd63a..fb237a9c2ca 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp +++ b/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp @@ -93,22 +93,26 @@ static void findOccludee(FEdge *fe, if (0 != face) { skipFace = false; - if (face == oface) + if (face == oface) { continue; + } - if (faceVertices.empty()) + if (faceVertices.empty()) { continue; + } for (vector<WVertex *>::iterator fv = faceVertices.begin(), fvend = faceVertices.end(); fv != fvend; ++fv) { - if ((*fv)->isBoundary()) + if ((*fv)->isBoundary()) { continue; + } WVertex::incoming_edge_iterator iebegin = (*fv)->incoming_edges_begin(); WVertex::incoming_edge_iterator ieend = (*fv)->incoming_edges_end(); for (ie = iebegin; ie != ieend; ++ie) { - if ((*ie) == 0) + if ((*ie) == 0) { continue; + } WFace *sface = (*ie)->GetbFace(); if (sface == oface) { @@ -116,11 +120,13 @@ static void findOccludee(FEdge *fe, break; } } - if (skipFace) + if (skipFace) { break; + } } - if (skipFace) + if (skipFace) { continue; + } } else { // check whether the edge and the polygon plane are coincident: @@ -165,8 +171,9 @@ static void findOccludee(FEdge *fe, } } - if (noIntersection) + if (noIntersection) { *oaWFace = NULL; + } } } @@ -249,8 +256,9 @@ static int computeVisibility(ViewMap *viewMap, WFace *oface; bool skipFace; - if (face) + if (face) { face->RetrieveVertexList(faceVertices); + } I occluders(grid, center, epsilon); @@ -315,14 +323,16 @@ static int computeVisibility(ViewMap *viewMap, for (vector<WVertex *>::iterator fv = faceVertices.begin(), fvend = faceVertices.end(); fv != fvend; ++fv) { - if ((*fv)->isBoundary()) + if ((*fv)->isBoundary()) { continue; + } WVertex::incoming_edge_iterator iebegin = (*fv)->incoming_edges_begin(); WVertex::incoming_edge_iterator ieend = (*fv)->incoming_edges_end(); for (ie = iebegin; ie != ieend; ++ie) { - if ((*ie) == 0) + if ((*ie) == 0) { continue; + } WFace *sface = (*ie)->GetbFace(); // WFace *sfacea = (*ie)->GetaFace(); @@ -332,8 +342,9 @@ static int computeVisibility(ViewMap *viewMap, break; } } - if (skipFace) + if (skipFace) { break; + } } if (skipFace) { #if LOGGING @@ -395,8 +406,9 @@ static int computeVisibility(ViewMap *viewMap, } ++qi; - if (!grid.enableQI()) + if (!grid.enableQI()) { break; + } } occluders.reportDepth(center, u, t); @@ -440,8 +452,9 @@ static void computeCumulativeVisibility(ViewMap *ioViewMap, unsigned qiMajority; for (vector<ViewEdge *>::iterator ve = vedges.begin(), veend = vedges.end(); ve != veend; ve++) { if (iRenderMonitor) { - if (iRenderMonitor->testBreak()) + if (iRenderMonitor->testBreak()) { break; + } if (cnt % cntStep == 0) { stringstream ss; ss << "Freestyle: Visibility computations " << (100 * cnt / vedges.size()) << "%"; @@ -645,8 +658,9 @@ static void computeDetailedVisibility(ViewMap *ioViewMap, unsigned maxIndex, maxCard; unsigned qiMajority; for (vector<ViewEdge *>::iterator ve = vedges.begin(), veend = vedges.end(); ve != veend; ve++) { - if (iRenderMonitor && iRenderMonitor->testBreak()) + if (iRenderMonitor && iRenderMonitor->testBreak()) { break; + } #if LOGGING if (_global.debug & G_DEBUG_FREESTYLE) { cout << "Processing ViewEdge " << (*ve)->getId() << endl; @@ -1243,8 +1257,9 @@ void ViewMapBuilder::computeInitialViewEdges(WingedEdge &we) SShape *psShape; for (vector<WShape *>::const_iterator it = wshapes.begin(); it != wshapes.end(); it++) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; + } // create the embedding psShape = new SShape; @@ -1286,10 +1301,12 @@ void ViewMapBuilder::computeCusps(ViewMap *ioViewMap) ViewMap::viewedges_container &vedges = ioViewMap->ViewEdges(); ViewMap::viewedges_container::iterator ve = vedges.begin(), veend = vedges.end(); for (; ve != veend; ++ve) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; - if ((!((*ve)->getNature() & Nature::SILHOUETTE)) || (!((*ve)->fedgeA()->isSmooth()))) + } + if ((!((*ve)->getNature() & Nature::SILHOUETTE)) || (!((*ve)->fedgeA()->isSmooth()))) { continue; + } FEdge *fe = (*ve)->fedgeA(); FEdge *fefirst = fe; bool first = true; @@ -1312,10 +1329,12 @@ void ViewMapBuilder::computeCusps(ViewMap *ioViewMap) } viewvector.normalize(); if (first) { - if (((crossP) * (viewvector)) > 0) + if (((crossP) * (viewvector)) > 0) { positive = true; - else + } + else { positive = false; + } first = false; } // If we're in a positive part, we need a stronger negative value to change @@ -1327,8 +1346,9 @@ void ViewMapBuilder::computeCusps(ViewMap *ioViewMap) // creates and insert cusp cusp = dynamic_cast<NonTVertex *>( ioViewMap->InsertViewVertex(fes->vertexA(), newVEdges)); - if (cusp) + if (cusp) { cusp->setNature(cusp->getNature() | Nature::CUSP); + } } } else { @@ -1337,8 +1357,9 @@ void ViewMapBuilder::computeCusps(ViewMap *ioViewMap) positive = true; cusp = dynamic_cast<NonTVertex *>( ioViewMap->InsertViewVertex(fes->vertexA(), newVEdges)); - if (cusp) + if (cusp) { cusp->setNature(cusp->getNature() | Nature::CUSP); + } } } fe = fe->nextEdge(); @@ -1557,8 +1578,9 @@ void ViewMapBuilder::ComputeRayCastingVisibility(ViewMap *ioViewMap, real epsilo unsigned qiMajority; static unsigned timestamp = 1; for (vector<ViewEdge *>::iterator ve = vedges.begin(), veend = vedges.end(); ve != veend; ve++) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; + } #if LOGGING if (_global.debug & G_DEBUG_FREESTYLE) { cout << "Processing ViewEdge " << (*ve)->getId() << endl; @@ -1649,8 +1671,10 @@ void ViewMapBuilder::ComputeRayCastingVisibility(ViewMap *ioViewMap, real epsilo // qi -- (*ve)->setQI(maxIndex); // occluders -- - for (set<ViewShape *>::iterator o = occluders.begin(), oend = occluders.end(); o != oend; ++o) + for (set<ViewShape *>::iterator o = occluders.begin(), oend = occluders.end(); o != oend; + ++o) { (*ve)->AddOccluder((*o)); + } #if LOGGING if (_global.debug & G_DEBUG_FREESTYLE) { cout << "\tConclusion: QI = " << maxIndex << ", " << (*ve)->occluders_size() << " occluders." @@ -1712,8 +1736,9 @@ void ViewMapBuilder::ComputeFastRayCastingVisibility(ViewMap *ioViewMap, real ep static unsigned timestamp = 1; bool even_test; for (vector<ViewEdge *>::iterator ve = vedges.begin(), veend = vedges.end(); ve != veend; ve++) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; + } festart = (*ve)->fedgeA(); fe = (*ve)->fedgeA(); @@ -1722,10 +1747,12 @@ void ViewMapBuilder::ComputeFastRayCastingVisibility(ViewMap *ioViewMap, real ep qiMajority++; fe = fe->nextEdge(); } while (fe && fe != festart); - if (qiMajority >= 4) + if (qiMajority >= 4) { qiMajority >>= 2; - else + } + else { qiMajority = 1; + } set<ViewShape *> occluders; @@ -1834,8 +1861,9 @@ void ViewMapBuilder::ComputeVeryFastRayCastingVisibility(ViewMap *ioViewMap, rea Polygon3r *aFace = NULL; static unsigned timestamp = 1; for (vector<ViewEdge *>::iterator ve = vedges.begin(), veend = vedges.end(); ve != veend; ve++) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; + } set<ViewShape *> occluders; @@ -1909,22 +1937,26 @@ void ViewMapBuilder::FindOccludee(FEdge *fe, if (face) { skipFace = false; - if (face == oface) + if (face == oface) { continue; + } - if (faceVertices.empty()) + if (faceVertices.empty()) { continue; + } for (vector<WVertex *>::iterator fv = faceVertices.begin(), fvend = faceVertices.end(); fv != fvend; ++fv) { - if ((*fv)->isBoundary()) + if ((*fv)->isBoundary()) { continue; + } WVertex::incoming_edge_iterator iebegin = (*fv)->incoming_edges_begin(); WVertex::incoming_edge_iterator ieend = (*fv)->incoming_edges_end(); for (ie = iebegin; ie != ieend; ++ie) { - if ((*ie) == 0) + if ((*ie) == 0) { continue; + } WFace *sface = (*ie)->GetbFace(); if (sface == oface) { @@ -1932,16 +1964,19 @@ void ViewMapBuilder::FindOccludee(FEdge *fe, break; } } - if (skipFace) + if (skipFace) { break; + } } - if (skipFace) + if (skipFace) { continue; + } } else { if (GeomUtils::COINCIDENT == - GeomUtils::intersectRayPlane(origin, edgeDir, normal, d, t, epsilon)) + GeomUtils::intersectRayPlane(origin, edgeDir, normal, d, t, epsilon)) { continue; + } } if ((*p)->rayIntersect(A, v, t, t_u, t_v)) { if (fabs(v * normal) > 0.0001) { @@ -1957,8 +1992,9 @@ void ViewMapBuilder::FindOccludee(FEdge *fe, } } - if (noIntersection) + if (noIntersection) { *oaPolygon = NULL; + } } } @@ -1982,9 +2018,10 @@ void ViewMapBuilder::FindOccludee( u = Vec3r(_viewpoint - A); } u.normalize(); - if (A < iGrid->getOrigin()) + if (A < iGrid->getOrigin()) { cerr << "Warning: point is out of the grid for fedge " << fe->getId().getFirst() << "-" << fe->getId().getSecond() << endl; + } vector<WVertex *> faceVertices; @@ -1993,8 +2030,9 @@ void ViewMapBuilder::FindOccludee( FEdgeSmooth *fes = dynamic_cast<FEdgeSmooth *>(fe); face = (WFace *)fes->face(); } - if (face) + if (face) { face->RetrieveVertexList(faceVertices); + } return FindOccludee( fe, iGrid, epsilon, oaPolygon, timestamp, u, A, origin, edgeDir, faceVertices); @@ -2073,8 +2111,9 @@ int ViewMapBuilder::ComputeRayCastingVisibility(FEdge *fe, WFace *oface; bool skipFace; OccludersSet::iterator p, pend; - if (face) + if (face) { face->RetrieveVertexList(faceVertices); + } for (p = occluders.begin(), pend = occluders.end(); p != pend; p++) { // If we're dealing with an exact silhouette, check whether we must take care of this occluder @@ -2121,14 +2160,16 @@ int ViewMapBuilder::ComputeRayCastingVisibility(FEdge *fe, for (vector<WVertex *>::iterator fv = faceVertices.begin(), fvend = faceVertices.end(); fv != fvend; ++fv) { - if ((*fv)->isBoundary()) + if ((*fv)->isBoundary()) { continue; + } WVertex::incoming_edge_iterator iebegin = (*fv)->incoming_edges_begin(); WVertex::incoming_edge_iterator ieend = (*fv)->incoming_edges_end(); for (ie = iebegin; ie != ieend; ++ie) { - if ((*ie) == 0) + if ((*ie) == 0) { continue; + } WFace *sface = (*ie)->GetbFace(); // WFace *sfacea = (*ie)->GetaFace(); @@ -2138,8 +2179,9 @@ int ViewMapBuilder::ComputeRayCastingVisibility(FEdge *fe, break; } } - if (skipFace) + if (skipFace) { break; + } } if (skipFace) { #if LOGGING @@ -2185,8 +2227,9 @@ int ViewMapBuilder::ComputeRayCastingVisibility(FEdge *fe, ViewShape *vshape = _ViewMap->viewShape(f->GetVertex(0)->shape()->GetId()); oOccluders.insert(vshape); ++qi; - if (!_EnableQI) + if (!_EnableQI) { break; + } } } } @@ -2241,12 +2284,15 @@ struct less_SVertex2D : public binary_function<SVertex *, SVertex *, bool> { Vec3r A = x->point2D(); Vec3r B = y->point2D(); for (unsigned int i = 0; i < 3; i++) { - if ((fabs(A[i] - B[i])) < epsilon) + if ((fabs(A[i] - B[i])) < epsilon) { continue; - if (A[i] < B[i]) + } + if (A[i] < B[i]) { return true; - if (A[i] > B[i]) + } + if (A[i] > B[i]) { return false; + } } return false; } @@ -2267,8 +2313,9 @@ struct less_Intersection : public binary_function<intersection *, intersection * { real tx = x->getParameter(edge); real ty = y->getParameter(edge); - if (tx > ty) + if (tx > ty) { return true; + } return false; } }; @@ -2341,8 +2388,9 @@ void ViewMapBuilder::ComputeSweepLineIntersections(ViewMap *ioViewMap, real epsi vector<segment *> vsegments; for (vector<SVertex *>::iterator sv = svertices.begin(), svend = svertices.end(); sv != svend; sv++) { - if (_pRenderMonitor && _pRenderMonitor->testBreak()) + if (_pRenderMonitor && _pRenderMonitor->testBreak()) { break; + } const vector<FEdge *> &vedges = (*sv)->fedges(); @@ -2378,8 +2426,9 @@ void ViewMapBuilder::ComputeSweepLineIntersections(ViewMap *ioViewMap, real epsi } // reset userdata: - for (fe = ioEdges.begin(), fend = ioEdges.end(); fe != fend; fe++) + for (fe = ioEdges.begin(), fend = ioEdges.end(); fe != fend; fe++) { (*fe)->userdata = NULL; + } // list containing the new edges resulting from splitting operations. vector<FEdge *> newEdges; @@ -2409,24 +2458,28 @@ void ViewMapBuilder::ComputeSweepLineIntersections(ViewMap *ioViewMap, real epsi real ta = (*i)->tA; real tb = (*i)->tB; - if ((ta < -epsilon) || (ta > 1 + epsilon)) + if ((ta < -epsilon) || (ta > 1 + epsilon)) { cerr << "Warning: 2D intersection out of range for edge " << fA->vertexA()->getId() << " - " << fA->vertexB()->getId() << endl; + } - if ((tb < -epsilon) || (tb > 1 + epsilon)) + if ((tb < -epsilon) || (tb > 1 + epsilon)) { cerr << "Warning: 2D intersection out of range for edge " << fB->vertexA()->getId() << " - " << fB->vertexB()->getId() << endl; + } real Ta = SilhouetteGeomEngine::ImageToWorldParameter(fA, ta); real Tb = SilhouetteGeomEngine::ImageToWorldParameter(fB, tb); - if ((Ta < -epsilon) || (Ta > 1 + epsilon)) + if ((Ta < -epsilon) || (Ta > 1 + epsilon)) { cerr << "Warning: 3D intersection out of range for edge " << fA->vertexA()->getId() << " - " << fA->vertexB()->getId() << endl; + } - if ((Tb < -epsilon) || (Tb > 1 + epsilon)) + if ((Tb < -epsilon) || (Tb > 1 + epsilon)) { cerr << "Warning: 3D intersection out of range for edge " << fB->vertexA()->getId() << " - " << fB->vertexB()->getId() << endl; + } #if 0 if (_global.debug & G_DEBUG_FREESTYLE) { @@ -2488,8 +2541,9 @@ void ViewMapBuilder::ComputeSweepLineIntersections(ViewMap *ioViewMap, real epsi vector<intersection *> &eIntersections = (*s)->intersections(); // we first need to sort these intersections from farther to closer to A sort(eIntersections.begin(), eIntersections.end(), less_Intersection(*s)); - for (i = eIntersections.begin(), iend = eIntersections.end(); i != iend; i++) + for (i = eIntersections.begin(), iend = eIntersections.end(); i != iend; i++) { edgeVVertices.push_back((TVertex *)(*i)->userdata); + } shape->SplitEdge(fedge, edgeVVertices, ioViewMap->FEdges(), ioViewMap->ViewEdges()); @@ -2503,8 +2557,9 @@ void ViewMapBuilder::ComputeSweepLineIntersections(ViewMap *ioViewMap, real epsi } // reset userdata: - for (fe = ioEdges.begin(), fend = ioEdges.end(); fe != fend; fe++) + for (fe = ioEdges.begin(), fend = ioEdges.end(); fe != fend; fe++) { (*fe)->userdata = NULL; + } // delete segments if (!segments.empty()) { diff --git a/source/blender/freestyle/intern/view_map/ViewMapIO.cpp b/source/blender/freestyle/intern/view_map/ViewMapIO.cpp index 24ed798709a..f844a227ec5 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapIO.cpp +++ b/source/blender/freestyle/intern/view_map/ViewMapIO.cpp @@ -113,23 +113,27 @@ inline int load(istream &in, FrsMaterial &m) int i; // Diffuse - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { READ(tmp_array[i]); + } m.setDiffuse(tmp_array[0], tmp_array[1], tmp_array[2], tmp_array[3]); // Specular - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { READ(tmp_array[i]); + } m.setSpecular(tmp_array[0], tmp_array[1], tmp_array[2], tmp_array[3]); // Ambient - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { READ(tmp_array[i]); + } m.setAmbient(tmp_array[0], tmp_array[1], tmp_array[2], tmp_array[3]); // Emission - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { READ(tmp_array[i]); + } m.setEmission(tmp_array[0], tmp_array[1], tmp_array[2], tmp_array[3]); // Shininess @@ -141,8 +145,9 @@ inline int load(istream &in, FrsMaterial &m) static int load(istream &in, ViewShape *vs) { - if (!vs || !vs->sshape()) + if (!vs || !vs->sshape()) { return 1; + } // SShape @@ -217,8 +222,9 @@ static int load(istream &in, ViewShape *vs) static int load(istream &in, FEdge *fe) { - if (!fe) + if (!fe) { return 1; + } bool b; @@ -335,8 +341,9 @@ static int load(istream &in, FEdge *fe) static int load(istream &in, SVertex *sv) { - if (!sv) + if (!sv) { return 1; + } // Id Id::id_type id1, id2; @@ -388,8 +395,9 @@ static int load(istream &in, SVertex *sv) static int load(istream &in, ViewEdge *ve) { - if (!ve) + if (!ve) { return 1; + } unsigned tmp; @@ -454,8 +462,9 @@ static int load(istream &in, ViewEdge *ve) static int load(istream &in, ViewVertex *vv) { - if (!vv) + if (!vv) { return 1; + } unsigned tmp; bool b; @@ -584,20 +593,24 @@ inline int save(ostream &out, const FrsMaterial &m) unsigned i; // Diffuse - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { WRITE(m.diffuse()[i]); + } // Specular - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { WRITE(m.specular()[i]); + } // Ambient - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { WRITE(m.ambient()[i]); + } // Emission - for (i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { WRITE(m.emission()[i]); + } // Shininess float shininess = m.shininess(); @@ -633,8 +646,9 @@ static int save(ostream &out, ViewShape *vs) // -> Material unsigned int size = vs->sshape()->frs_materials().size(); WRITE(size); - for (unsigned int i = 0; i < size; ++i) + for (unsigned int i = 0; i < size; ++i) { save(out, vs->sshape()->frs_material(i)); + } // -> VerticesList (List) tmp = vs->sshape()->getVertexList().size(); @@ -804,11 +818,13 @@ static int save(ostream &out, SVertex *sv) // Note: the 'size()' method of a set doesn't seem to return the actual size of the given set, so // we have to hack it... set<Vec3r>::const_iterator i; - for (i = sv->normals().begin(), tmp = 0; i != sv->normals().end(); i++, tmp++) + for (i = sv->normals().begin(), tmp = 0; i != sv->normals().end(); i++, tmp++) { ; + } WRITE(tmp); - for (i = sv->normals().begin(); i != sv->normals().end(); i++) + for (i = sv->normals().begin(); i != sv->normals().end(); i++) { save(out, *i); + } // FEdges (List) tmp = sv->fedges().size(); @@ -952,8 +968,9 @@ static int save(ostream &out, ViewVertex *vv) int load(istream &in, ViewMap *vm, ProgressBar *pb) { - if (!vm) + if (!vm) { return 1; + } // soc unused - unsigned tmp; int err = 0; @@ -1050,25 +1067,30 @@ int load(istream &in, ViewMap *vm, ProgressBar *pb) SET_PROGRESS(1); for (vector<ViewShape *>::const_iterator i4 = vm->ViewShapes().begin(); i4 != vm->ViewShapes().end(); - i4++) + i4++) { err += Internal::load(in, *i4); + } SET_PROGRESS(2); - for (vector<FEdge *>::const_iterator i5 = vm->FEdges().begin(); i5 != vm->FEdges().end(); i5++) + for (vector<FEdge *>::const_iterator i5 = vm->FEdges().begin(); i5 != vm->FEdges().end(); i5++) { err += Internal::load(in, *i5); + } SET_PROGRESS(3); for (vector<SVertex *>::const_iterator i6 = vm->SVertices().begin(); i6 != vm->SVertices().end(); - i6++) + i6++) { err += Internal::load(in, *i6); + } SET_PROGRESS(4); for (vector<ViewEdge *>::const_iterator i7 = vm->ViewEdges().begin(); i7 != vm->ViewEdges().end(); - i7++) + i7++) { err += Internal::load(in, *i7); + } SET_PROGRESS(5); for (vector<ViewVertex *>::const_iterator i8 = vm->ViewVertices().begin(); i8 != vm->ViewVertices().end(); - i8++) + i8++) { err += Internal::load(in, *i8); + } SET_PROGRESS(6); // Read the shape id to index mapping @@ -1086,8 +1108,9 @@ int load(istream &in, ViewMap *vm, ProgressBar *pb) int save(ostream &out, ViewMap *vm, ProgressBar *pb) { - if (!vm) + if (!vm) { return 1; + } int err = 0; @@ -1104,14 +1127,18 @@ int save(ostream &out, ViewMap *vm, ProgressBar *pb) vm->ViewShapes()[i0]->userdata = POINTER_FROM_UINT(i0); vm->ViewShapes()[i0]->sshape()->userdata = POINTER_FROM_UINT(i0); } - for (unsigned int i1 = 0; i1 < vm->FEdges().size(); i1++) + for (unsigned int i1 = 0; i1 < vm->FEdges().size(); i1++) { vm->FEdges()[i1]->userdata = POINTER_FROM_UINT(i1); - for (unsigned int i2 = 0; i2 < vm->SVertices().size(); i2++) + } + for (unsigned int i2 = 0; i2 < vm->SVertices().size(); i2++) { vm->SVertices()[i2]->userdata = POINTER_FROM_UINT(i2); - for (unsigned int i3 = 0; i3 < vm->ViewEdges().size(); i3++) + } + for (unsigned int i3 = 0; i3 < vm->ViewEdges().size(); i3++) { vm->ViewEdges()[i3]->userdata = POINTER_FROM_UINT(i3); - for (unsigned int i4 = 0; i4 < vm->ViewVertices().size(); i4++) + } + for (unsigned int i4 = 0; i4 < vm->ViewVertices().size(); i4++) { vm->ViewVertices()[i4]->userdata = POINTER_FROM_UINT(i4); + } // Write the current options unsigned char flags = Options::getFlags(); @@ -1127,8 +1154,9 @@ int save(ostream &out, ViewMap *vm, ProgressBar *pb) bool b = vm->FEdges()[0]->isSmooth(); WRITE(b); for (unsigned int i = 0; i < size; i++) { - while (i < size && (vm->FEdges()[i]->isSmooth() == b)) + while (i < size && (vm->FEdges()[i]->isSmooth() == b)) { i++; + } if (i < size) { WRITE(i); b = !b; @@ -1149,8 +1177,9 @@ int save(ostream &out, ViewMap *vm, ProgressBar *pb) WRITE(nature); nature &= ~Nature::VIEW_VERTEX; for (unsigned int i = 0; i < size; i++) { - while (i < size && (vm->ViewVertices()[i]->getNature() & nature)) + while (i < size && (vm->ViewVertices()[i]->getNature() & nature)) { i++; + } if (i < size) { WRITE(i); nature = vm->ViewVertices()[i]->getNature() & ~Nature::VIEW_VERTEX; @@ -1165,25 +1194,30 @@ int save(ostream &out, ViewMap *vm, ProgressBar *pb) SET_PROGRESS(1); for (vector<ViewShape *>::const_iterator i5 = vm->ViewShapes().begin(); i5 != vm->ViewShapes().end(); - i5++) + i5++) { err += Internal::save(out, *i5); + } SET_PROGRESS(2); - for (vector<FEdge *>::const_iterator i6 = vm->FEdges().begin(); i6 != vm->FEdges().end(); i6++) + for (vector<FEdge *>::const_iterator i6 = vm->FEdges().begin(); i6 != vm->FEdges().end(); i6++) { err += Internal::save(out, *i6); + } SET_PROGRESS(3); for (vector<SVertex *>::const_iterator i7 = vm->SVertices().begin(); i7 != vm->SVertices().end(); - i7++) + i7++) { err += Internal::save(out, *i7); + } SET_PROGRESS(4); for (vector<ViewEdge *>::const_iterator i8 = vm->ViewEdges().begin(); i8 != vm->ViewEdges().end(); - i8++) + i8++) { err += Internal::save(out, *i8); + } SET_PROGRESS(5); for (vector<ViewVertex *>::const_iterator i9 = vm->ViewVertices().begin(); i9 != vm->ViewVertices().end(); - i9++) + i9++) { err += Internal::save(out, *i9); + } // Write the shape id to index mapping size = vm->shapeIdToIndexMap().size(); @@ -1206,19 +1240,23 @@ int save(ostream &out, ViewMap *vm, ProgressBar *pb) (*j0)->userdata = NULL; (*j0)->sshape()->userdata = NULL; } - for (vector<FEdge *>::const_iterator j1 = vm->FEdges().begin(); j1 != vm->FEdges().end(); j1++) + for (vector<FEdge *>::const_iterator j1 = vm->FEdges().begin(); j1 != vm->FEdges().end(); j1++) { (*j1)->userdata = NULL; + } for (vector<SVertex *>::const_iterator j2 = vm->SVertices().begin(); j2 != vm->SVertices().end(); - j2++) + j2++) { (*j2)->userdata = NULL; + } for (vector<ViewEdge *>::const_iterator j3 = vm->ViewEdges().begin(); j3 != vm->ViewEdges().end(); - j3++) + j3++) { (*j3)->userdata = NULL; + } for (vector<ViewVertex *>::const_iterator j4 = vm->ViewVertices().begin(); j4 != vm->ViewVertices().end(); - j4++) + j4++) { (*j4)->userdata = NULL; + } SET_PROGRESS(6); return err; diff --git a/source/blender/freestyle/intern/view_map/ViewMapIterators.h b/source/blender/freestyle/intern/view_map/ViewMapIterators.h index 0fb5438a153..174e25896cc 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapIterators.h +++ b/source/blender/freestyle/intern/view_map/ViewMapIterators.h @@ -130,20 +130,24 @@ class orientedViewEdgeIterator : public Iterator { * not. */ virtual bool isBegin() const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { return (_tvertex_iter == _tbegin); - else + } + else { return (_nontvertex_iter == _begin); + } } /*! Tells whether the ViewEdge pointed by this iterator is after the last one of the iteration * list or not. */ virtual bool isEnd() const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { return (_tvertex_iter == _tend); - else + } + else { return (_nontvertex_iter == _end); + } } // operators @@ -168,10 +172,12 @@ class orientedViewEdgeIterator : public Iterator { /*! operator != */ virtual bool operator!=(const orientedViewEdgeIterator &b) const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { return (_tvertex_iter != b._tvertex_iter); - else + } + else { return (_nontvertex_iter != b._nontvertex_iter); + } } /*! operator == */ @@ -186,11 +192,13 @@ class orientedViewEdgeIterator : public Iterator { */ virtual ViewVertex::directedViewEdge &operator*() const { - if (_Nature & Nature::T_VERTEX) + if (_Nature & Nature::T_VERTEX) { // return _tvertex_iter; return **_tvertex_iter; - else + } + else { return (*_nontvertex_iter); + } } /*! Returns a pointer to the pointed orientedViewEdge. * Can't be called in the scripting language. @@ -210,8 +218,9 @@ class orientedViewEdgeIterator : public Iterator { if (_tvertex_iter != _tend) { // FIXME : pquoi deja ? ViewVertex::directedViewEdge tmp2 = (**_tvertex_iter); - if (tmp2.first == tmp.first) + if (tmp2.first == tmp.first) { ++_tvertex_iter; + } } } else { @@ -379,8 +388,9 @@ class SVertexIterator : public Interface0DIteratorNested { virtual bool operator==(const Interface0DIteratorNested &it) const { const SVertexIterator *it_exact = dynamic_cast<const SVertexIterator *>(&it); - if (!it_exact) + if (!it_exact) { return false; + } return (_vertex == it_exact->_vertex); } diff --git a/source/blender/freestyle/intern/view_map/ViewMapTesselator.cpp b/source/blender/freestyle/intern/view_map/ViewMapTesselator.cpp index 8abd464b0cf..8357231a73d 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapTesselator.cpp +++ b/source/blender/freestyle/intern/view_map/ViewMapTesselator.cpp @@ -25,8 +25,9 @@ namespace Freestyle { NodeGroup *ViewMapTesselator::Tesselate(ViewMap *iViewMap) { - if (0 == iViewMap->ViewEdges().size()) + if (0 == iViewMap->ViewEdges().size()) { return NULL; + } const vector<ViewEdge *> &viewedges = iViewMap->ViewEdges(); return Tesselate(viewedges.begin(), viewedges.end()); diff --git a/source/blender/freestyle/intern/view_map/ViewMapTesselator.h b/source/blender/freestyle/intern/view_map/ViewMapTesselator.h index f8ae885f5d7..7bb9d649e5d 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapTesselator.h +++ b/source/blender/freestyle/intern/view_map/ViewMapTesselator.h @@ -185,8 +185,9 @@ NodeGroup *ViewMapTesselator::Tesselate(ViewEdgesIterator begin, ViewEdgesIterat #endif line = new OrientedLineRep(); - if (_overloadFrsMaterial) + if (_overloadFrsMaterial) { line->setFrsMaterial(_FrsMaterial); + } // there might be chains containing a single element if (0 == (firstEdge)->nextEdge()) { |