fix -Wextra in Mesh
This commit is contained in:
@@ -492,121 +492,129 @@ void SetOperations::CollectFacets (int side, float mult)
|
||||
// MeshDefinitions::SetMinPointDistance(distSave);
|
||||
}
|
||||
|
||||
SetOperations::CollectFacetVisitor::CollectFacetVisitor (const MeshKernel& mesh, std::vector<unsigned long>& facets, std::map<Edge, EdgeInfo>& edges, int side, float mult , Base::Builder3D& builder )
|
||||
: _facets(facets),
|
||||
_mesh(mesh),
|
||||
_edges(edges),
|
||||
_side(side),
|
||||
_mult(mult),
|
||||
_addFacets(-1)
|
||||
SetOperations::CollectFacetVisitor::CollectFacetVisitor (const MeshKernel& mesh, std::vector<unsigned long>& facets,
|
||||
std::map<Edge, EdgeInfo>& edges, int side, float mult,
|
||||
Base::Builder3D& builder)
|
||||
: _facets(facets)
|
||||
, _mesh(mesh)
|
||||
, _edges(edges)
|
||||
, _side(side)
|
||||
, _mult(mult)
|
||||
, _addFacets(-1)
|
||||
,_builder(builder)
|
||||
{
|
||||
}
|
||||
|
||||
bool SetOperations::CollectFacetVisitor::Visit (const MeshFacet &rclFacet, const MeshFacet &rclFrom, unsigned long ulFInd, unsigned long ulLevel)
|
||||
bool SetOperations::CollectFacetVisitor::Visit (const MeshFacet &rclFacet, const MeshFacet &rclFrom,
|
||||
unsigned long ulFInd, unsigned long ulLevel)
|
||||
{
|
||||
_facets.push_back(ulFInd);
|
||||
return true;
|
||||
(void)rclFacet;
|
||||
(void)rclFrom;
|
||||
(void)ulLevel;
|
||||
_facets.push_back(ulFInd);
|
||||
return true;
|
||||
}
|
||||
|
||||
//static int matchCounter = 0;
|
||||
bool SetOperations::CollectFacetVisitor::AllowVisit (const MeshFacet& rclFacet, const MeshFacet& rclFrom, unsigned long ulFInd, unsigned long ulLevel, unsigned short neighbourIndex)
|
||||
bool SetOperations::CollectFacetVisitor::AllowVisit (const MeshFacet& rclFacet, const MeshFacet& rclFrom,
|
||||
unsigned long ulFInd, unsigned long ulLevel,
|
||||
unsigned short neighbourIndex)
|
||||
{
|
||||
if (rclFacet.IsFlag(MeshFacet::MARKED) && rclFrom.IsFlag(MeshFacet::MARKED))
|
||||
{ // facet connected to an edge
|
||||
unsigned long pt0 = rclFrom._aulPoints[neighbourIndex], pt1 = rclFrom._aulPoints[(neighbourIndex+1)%3];
|
||||
Edge edge(_mesh.GetPoint(pt0), _mesh.GetPoint(pt1));
|
||||
(void)ulFInd;
|
||||
(void)ulLevel;
|
||||
if (rclFacet.IsFlag(MeshFacet::MARKED) && rclFrom.IsFlag(MeshFacet::MARKED)) {
|
||||
// facet connected to an edge
|
||||
unsigned long pt0 = rclFrom._aulPoints[neighbourIndex], pt1 = rclFrom._aulPoints[(neighbourIndex+1)%3];
|
||||
Edge edge(_mesh.GetPoint(pt0), _mesh.GetPoint(pt1));
|
||||
|
||||
std::map<Edge, EdgeInfo>::iterator it = _edges.find(edge);
|
||||
std::map<Edge, EdgeInfo>::iterator it = _edges.find(edge);
|
||||
|
||||
if (it != _edges.end())
|
||||
{
|
||||
if (_addFacets == -1)
|
||||
{ // detemine if the facets shoud add or not only once
|
||||
MeshGeomFacet facet = _mesh.GetFacet(rclFrom); // triangulated facet
|
||||
MeshGeomFacet facetOther = it->second.facets[1-_side][0]; // triangulated facet from same edge and other mesh
|
||||
Vector3f normalOther = facetOther.GetNormal();
|
||||
//Vector3f normal = facet.GetNormal();
|
||||
if (it != _edges.end()) {
|
||||
if (_addFacets == -1) {
|
||||
// detemine if the facets shoud add or not only once
|
||||
MeshGeomFacet facet = _mesh.GetFacet(rclFrom); // triangulated facet
|
||||
MeshGeomFacet facetOther = it->second.facets[1-_side][0]; // triangulated facet from same edge and other mesh
|
||||
Vector3f normalOther = facetOther.GetNormal();
|
||||
//Vector3f normal = facet.GetNormal();
|
||||
|
||||
Vector3f edgeDir = it->first.pt1 - it->first.pt2;
|
||||
Vector3f ocDir = (edgeDir % (facet.GetGravityPoint() - it->first.pt1)) % edgeDir;
|
||||
ocDir.Normalize();
|
||||
Vector3f ocDirOther = (edgeDir % (facetOther.GetGravityPoint() - it->first.pt1)) % edgeDir;
|
||||
ocDirOther.Normalize();
|
||||
Vector3f edgeDir = it->first.pt1 - it->first.pt2;
|
||||
Vector3f ocDir = (edgeDir % (facet.GetGravityPoint() - it->first.pt1)) % edgeDir;
|
||||
ocDir.Normalize();
|
||||
Vector3f ocDirOther = (edgeDir % (facetOther.GetGravityPoint() - it->first.pt1)) % edgeDir;
|
||||
ocDirOther.Normalize();
|
||||
|
||||
//Vector3f dir = ocDir % normal;
|
||||
//Vector3f dirOther = ocDirOther % normalOther;
|
||||
//Vector3f dir = ocDir % normal;
|
||||
//Vector3f dirOther = ocDirOther % normalOther;
|
||||
|
||||
bool match = ((ocDir * normalOther) * _mult) < 0.0f;
|
||||
bool match = ((ocDir * normalOther) * _mult) < 0.0f;
|
||||
|
||||
//if (matchCounter == 1)
|
||||
//{
|
||||
// // _builder.addSingleArrow(it->second.pt1, it->second.pt1 + edgeDir, 3, 0.0, 1.0, 0.0);
|
||||
//if (matchCounter == 1)
|
||||
//{
|
||||
// // _builder.addSingleArrow(it->second.pt1, it->second.pt1 + edgeDir, 3, 0.0, 1.0, 0.0);
|
||||
|
||||
// _builder.addSingleTriangle(facet._aclPoints[0], facet._aclPoints[1], facet._aclPoints[2], true, 3.0, 1.0, 0.0, 0.0);
|
||||
// // _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + ocDir, 3, 1.0, 0.0, 0.0);
|
||||
// _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + normal, 3, 1.0, 0.5, 0.0);
|
||||
// // _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + dir, 3, 1.0, 1.0, 0.0);
|
||||
// _builder.addSingleTriangle(facet._aclPoints[0], facet._aclPoints[1], facet._aclPoints[2], true, 3.0, 1.0, 0.0, 0.0);
|
||||
// // _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + ocDir, 3, 1.0, 0.0, 0.0);
|
||||
// _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + normal, 3, 1.0, 0.5, 0.0);
|
||||
// // _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + dir, 3, 1.0, 1.0, 0.0);
|
||||
|
||||
// _builder.addSingleTriangle(facetOther._aclPoints[0], facetOther._aclPoints[1], facetOther._aclPoints[2], true, 3.0, 0.0, 0.0, 1.0);
|
||||
// // _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + ocDirOther, 3, 0.0, 0.0, 1.0);
|
||||
// _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + normalOther, 3, 0.0, 0.5, 1.0);
|
||||
// // _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + dirOther, 3, 0.0, 1.0, 1.0);
|
||||
// _builder.addSingleTriangle(facetOther._aclPoints[0], facetOther._aclPoints[1], facetOther._aclPoints[2], true, 3.0, 0.0, 0.0, 1.0);
|
||||
// // _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + ocDirOther, 3, 0.0, 0.0, 1.0);
|
||||
// _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + normalOther, 3, 0.0, 0.5, 1.0);
|
||||
// // _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + dirOther, 3, 0.0, 1.0, 1.0);
|
||||
|
||||
//}
|
||||
//}
|
||||
|
||||
// float scalar = dir * dirOther * _mult;
|
||||
// bool match = scalar > 0.0f;
|
||||
// float scalar = dir * dirOther * _mult;
|
||||
// bool match = scalar > 0.0f;
|
||||
|
||||
|
||||
//MeshPoint pt0 = it->first.pt1;
|
||||
//MeshPoint pt1 = it->first.pt2;
|
||||
//MeshPoint pt0 = it->first.pt1;
|
||||
//MeshPoint pt1 = it->first.pt2;
|
||||
|
||||
//int i, n0 = -1, n1 = -1, m0 = -1, m1 = -1;
|
||||
//for (i = 0; i < 3; i++)
|
||||
//{
|
||||
// if ((n0 == -1) && (facet._aclPoints[i] == pt0))
|
||||
// n0 = i;
|
||||
// if ((n1 == -1) && (facet._aclPoints[i] == pt1))
|
||||
// n1 = i;
|
||||
// if ((m0 == -1) && (facetOther._aclPoints[i] == pt0))
|
||||
// m0 = i;
|
||||
// if ((m1 == -1) && (facetOther._aclPoints[i] == pt1))
|
||||
// m1 = i;
|
||||
//}
|
||||
//int i, n0 = -1, n1 = -1, m0 = -1, m1 = -1;
|
||||
//for (i = 0; i < 3; i++)
|
||||
//{
|
||||
// if ((n0 == -1) && (facet._aclPoints[i] == pt0))
|
||||
// n0 = i;
|
||||
// if ((n1 == -1) && (facet._aclPoints[i] == pt1))
|
||||
// n1 = i;
|
||||
// if ((m0 == -1) && (facetOther._aclPoints[i] == pt0))
|
||||
// m0 = i;
|
||||
// if ((m1 == -1) && (facetOther._aclPoints[i] == pt1))
|
||||
// m1 = i;
|
||||
//}
|
||||
|
||||
//if ((n0 != -1) && (n1 != -1) && (m0 != -1) && (m1 != -1))
|
||||
//{
|
||||
// bool orient_n = n1 > n0;
|
||||
// bool orient_m = m1 > m0;
|
||||
//if ((n0 != -1) && (n1 != -1) && (m0 != -1) && (m1 != -1))
|
||||
//{
|
||||
// bool orient_n = n1 > n0;
|
||||
// bool orient_m = m1 > m0;
|
||||
|
||||
// Vector3f dirN = facet._aclPoints[n1] - facet._aclPoints[n0];
|
||||
// Vector3f dirM = facetOther._aclPoints[m1] - facetOther._aclPoints[m0];
|
||||
// Vector3f dirN = facet._aclPoints[n1] - facet._aclPoints[n0];
|
||||
// Vector3f dirM = facetOther._aclPoints[m1] - facetOther._aclPoints[m0];
|
||||
|
||||
// if (matchCounter == 1)
|
||||
// {
|
||||
// _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + dirN, 3, 1.0, 1.0, 0.0);
|
||||
// _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + dirM, 3, 0.0, 1.0, 1.0);
|
||||
// }
|
||||
// if (matchCounter == 1)
|
||||
// {
|
||||
// _builder.addSingleArrow(facet.GetGravityPoint(), facet.GetGravityPoint() + dirN, 3, 1.0, 1.0, 0.0);
|
||||
// _builder.addSingleArrow(facetOther.GetGravityPoint(), facetOther.GetGravityPoint() + dirM, 3, 0.0, 1.0, 1.0);
|
||||
// }
|
||||
|
||||
// if (_mult > 0.0)
|
||||
// match = orient_n == orient_m;
|
||||
// else
|
||||
// match = orient_n != orient_m;
|
||||
//}
|
||||
|
||||
if (match)
|
||||
_addFacets = 0;
|
||||
else
|
||||
_addFacets = 1;
|
||||
// if (_mult > 0.0)
|
||||
// match = orient_n == orient_m;
|
||||
// else
|
||||
// match = orient_n != orient_m;
|
||||
//}
|
||||
|
||||
//matchCounter++;
|
||||
}
|
||||
if (match)
|
||||
_addFacets = 0;
|
||||
else
|
||||
_addFacets = 1;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//matchCounter++;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user