EgtGeomKernel 2.3g1 :

- versione x64 compilata con Clang-cl/LLVM
- modifiche varie per eliminare warning più gravi di questo compilatore.
This commit is contained in:
DarioS
2021-07-20 12:53:04 +02:00
parent 54e9903850
commit 73f5b382c9
32 changed files with 88 additions and 142 deletions
+5 -17
View File
@@ -594,9 +594,6 @@ SurfTriMesh::GeneralizedCut( const ICurve& cvCurve, bool bSaveOnEq)
Vector3d vtVecProva = cvOpenChain[nLastOpenLoopN][0].vtOuter ;
vtVecProva.Normalize( EPS_ZERO) ;
for ( int nLoop = 0 ; nLoop < int( cvBoundClosedLoopVec.size()) ; ++ nLoop) {
// Estremi del loop aperto
Point3d ptOpenLoopStP = cvOpenChain[nLastOpenLoopN][0].ptSt ;
Point3d ptOpenLoopEnP = cvOpenChain[nLastOpenLoopN][0].ptEn ;
// Cerco se esistono dei tratti del loop chiuso corrente che sono
// toccati dagli estremi del loop aperto corrente
int nCvFirst = -1 ;
@@ -797,9 +794,6 @@ SurfTriMesh::DecomposeLoop( CHAINVECTOR& cvOpenChain, INTVECTOR& vnDegVec, PNTMA
Vector3d vtVecProva = cvOpenChain[nLastOpenLoopN][0].vtOuter ;
vtVecProva.Normalize( EPS_ZERO) ;
for ( int nLoop = 0 ; nLoop < int( cvBoundClosedLoopVec.size()) ; ++ nLoop) {
// Estremi del loop aperto
Point3d ptOpenLoopStP = cvOpenChain[nLastOpenLoopN][0].ptSt ;
Point3d ptOpenLoopEnP = cvOpenChain[nLastOpenLoopN][0].ptEn ;
// Cerco se esistono dei tratti del loop chiuso corrente che sono
// toccati dagli estremi del loop aperto corrente
int nCvFirst = - 1 ;
@@ -1961,7 +1955,6 @@ SurfTriMesh::IntersectTriMeshTriangle( SurfTriMesh& Other)
m_vTria[nTA].nTempPart = nInOutNum ;
}
nVertNum = 0 ;
ptFirstV ;
nCurVert = SurfB.GetFirstVertex( ptFirstV) ;
nInOutNum = 0 ;
while ( nInOutNum == 0 && nCurVert != SVT_NULL) {
@@ -3383,7 +3376,6 @@ SurfTriMesh::SplitFacet( const INTERSCHAINMAP& IntersLineMap, PieceMap& NewFacet
NewLoop2.IsClosedAndFlat(plLoopPlane2, dArea2);
vNewPieces[nPart].vPieceLoop[0].IsClosedAndFlat(plContLoopPlane, dAreaCont);
Vector3d vtLoopPlaneNorm1 = plLoopPlane1.GetVersN();
Vector3d vtLoopPlaneNorm2 = plLoopPlane2.GetVersN();
Vector3d vtContLoopPlaneNorm = plContLoopPlane.GetVersN();
PolyLine NewLoopCCW, NewLoopCW;
bool bFirstLoopIsCounter = vtLoopPlaneNorm1 * vtContLoopPlaneNorm > EPS_SMALL;
@@ -3569,7 +3561,6 @@ SurfTriMesh::SplitFacet( const INTERSCHAINMAP& IntersLineMap, PieceMap& NewFacet
NewLoop2.IsClosedAndFlat( plLoopPlane2, dArea2) ;
vNewPieces[nPart].vPieceLoop[0].IsClosedAndFlat( plContLoopPlane, dAreaCont) ;
Vector3d vtLoopPlaneNorm1 = plLoopPlane1.GetVersN();
Vector3d vtLoopPlaneNorm2 = plLoopPlane2.GetVersN();
Vector3d vtContLoopPlaneNorm = plContLoopPlane.GetVersN();
PolyLine NewLoopCCW, NewLoopCW;
bool bFirstLoopIsCounter = vtLoopPlaneNorm1 * vtContLoopPlaneNorm > EPS_SMALL;
@@ -4078,7 +4069,6 @@ SurfTriMesh::RetriangulateFacetPieces( const PieceMap& NewFacet,
for ( int& nT : vFacetTria)
RemoveTriangle( nT) ;
}
int nIndexPosInVec = 0 ;
for ( auto it = NewFacet.begin() ; it != NewFacet.end() ; ++ it) {
const vector<FacetPiece>& PiecesVector = it->second ;
// Ciclo sui nuovi pezzi di faccia.
@@ -4179,11 +4169,10 @@ SurfTriMesh::RetriangulateFacetPieces( const PieceMap& NewFacet,
//----------------------------------------------------------------------------
bool
SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other)
{ ////////////////////////////////////////////////////////////////////////////////////////////////////////
static int nTime = 0;
nTime++;
if (nTime == 32)
int mimi = 0;
{
////////////////////////////////////////////////////////////////////////////////////////////////////////
static int nTime = 0 ;
nTime ++ ;
////////////////////////////////////////////////////////////////////////////////////////////////////////
SurfTriMesh& SurfB = Other ;
// Le superfici devono essere valide
@@ -4210,7 +4199,6 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other)
}
// Ciclo sulle facce delle mesh
int nFacetNumA = GetFacetCount() ;
int nFacetNumB = SurfB.GetFacetCount() ;
for ( int nFA = 0 ; nFA < nFacetNumA ; ++ nFA) {
// Dati della faccia
POLYLINEVECTOR LoopVecA ;
@@ -4462,7 +4450,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other)
}
// Se la posizione della superficie A rispetto alla B non è definita e
// B è esterna ad A, allora assumiamo che siano reciprocamente esterne.
if ( nInOutNumA == 0 && nInOutNumA == - 1)
if ( nInOutNumA == 0 && nInOutNumB == - 1)
nInOutNumA = - 1 ;
// Assegno gli indici interni/esterni.
for ( int nTA = 0 ; nTA < nTriaNumA ; ++ nTA) {