Include :

- aggiornamento prototipi.
This commit is contained in:
Dario Sassi
2019-10-02 06:31:14 +00:00
parent 846196e36d
commit 2745d4107e
4 changed files with 33 additions and 7 deletions
+19 -3
View File
@@ -1,13 +1,13 @@
//----------------------------------------------------------------------------
// EgalTech 2018-2018
// EgalTech 2018-2019
//----------------------------------------------------------------------------
// File : EGkIntersTriaTria.h Data : 27.08.18 Versione : 1.9h3
// File : EGkIntersTriaTria.h Data : 01.10.19 Versione : 2.1i3
// Contenuto : Dichiarazione della classe intersezione triangolo/triangolo.
//
//
//
// Modifiche : 27.08.18 DS Creazione modulo.
//
// 01.10.19 LM Aggiunte costanti
//
//----------------------------------------------------------------------------
@@ -37,4 +37,20 @@ enum IntTriaTriaType { ITTT_NO = 0, // non c'
ITTT_PNT = 3, // l'intersezione è un punto sui lati di entrambi i triangoli (ptInt)
ITTT_EDGE = 4, // l'intersezione coincide con un lato di un triangolo (ptInt, ptInt2)
ITTT_YES = 5} ; // l'intersezione è un segmento (ptInt, ptInt2)
// Tipi estesi
enum IntTriaTriaSpecialType { ITTTS_NO = 0, // non c'è intersezione
ITTTS_OVERLAPS = 1, // i triangoli si sovrappongono (i triangoli del poligono sono in vTria)
ITTTS_VERT_VERT = 2, // intersezione coppia di vertici
ITTTS_VERT_EDGE = 3, // vertice del primo su lato del secondo
ITTTS_VERT_INT = 4, // vertice del primo nell'interno del secondo
ITTTS_EDGE_VERT = 5, // vertice del secondo su lato del primo
ITTTS_EDGE_EDGE_PNT = 6, // punto sull'intersezione di due lati
ITTTS_INT_VERT = 7, // vertice del secondo nell'interno del primo
ITTTS_EDGE_EDGE_SEG = 8, // sovrapposizione di lati
ITTTS_EDGE_INT = 9, // lato del primo nell'interno del secondo
ITTTS_INT_EDGE = 10, // lato del secondo nell'interno del primo
ITTTS_INT_INT_SEG = 11 // segmento all'interno di entrambi i triangoli
} ;
// Conversione dai nuovi ai vecchi tipi
const int nFromSpecialToNormal[] = { ITTT_NO, ITTT_OVERLAPS, ITTT_VERT, ITTT_VERT, ITTT_VERT, ITTT_VERT, ITTT_PNT, ITTT_VERT, ITTT_EDGE, ITTT_EDGE, ITTT_EDGE, ITTT_YES } ;
+6 -3
View File
@@ -95,9 +95,12 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual bool GetFacetBBox( int nF, const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const = 0 ;
virtual bool Cut( const Plane3d& plPlane, bool bSaveOnEq) = 0 ;
virtual bool GeneralizedCut( const ICurve& cvCurve, bool bSaveOnEq) = 0 ;
virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const = 0 ;
virtual const BBox3d& GetAllTriaBox( void) const = 0 ;
virtual int GetPartCount( void) const = 0 ;
virtual bool Add( const ISurfTriMesh& Other) = 0 ;
virtual bool Intersect( const ISurfTriMesh& Other) = 0 ;
virtual bool Subtract( const ISurfTriMesh& Other) = 0 ;
virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const ;
virtual const BBox3d& GetAllTriaBox( void) const ;
virtual int GetPartCount( void) const = 0 ;
virtual bool RemovePart( int nPart) = 0 ;
virtual ISurfTriMesh* ClonePart( int nPart) const = 0 ;
} ;
+4
View File
@@ -444,8 +444,12 @@ EIN_EXPORT BOOL __stdcall EgtSurfFrIntersect( int nId1, int nId2) ;
EIN_EXPORT BOOL __stdcall EgtSurfFrOffset( int nId, double dDist, int nType) ;
EIN_EXPORT int __stdcall EgtExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ;
EIN_EXPORT int __stdcall EgtGetSurfTmSilhouette( int nId, const double vtDir[3], int nDestGrpId, int nRefType, int* pnCount) ;
EIN_EXPORT int __stdcall EgtExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
EIN_EXPORT int __stdcall EgtExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EIN_EXPORT int __stdcall EgtCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
EIN_EXPORT BOOL __stdcall EgtSurfTmAdd( int nId1, int nId2) ;
EIN_EXPORT BOOL __stdcall EgtSurfTmSubtract( int nId1, int nId2) ;
EIN_EXPORT BOOL __stdcall EgtSurfTmIntersect( int nId1, int nId2) ;
// Geo Snap Vector/Point/Frame
EIN_EXPORT BOOL __stdcall EgtStartPoint( int nId, int nRefId, double ptP[3]) ;
+4 -1
View File
@@ -496,9 +496,12 @@ EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId,
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBox( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBoxGlob( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT int ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ;
EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ;
EXE_EXPORT bool ExeCutSurfTmPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
EXE_EXPORT bool ExeCutSurfTmClosedCurve( int nSurfId, int nCurveId, bool bSaveOnEq) ;
EXE_EXPORT bool ExeSurfTmAdd( int nId1, int nId2) ;
EXE_EXPORT bool ExeSurfTmSubtract( int nId1, int nId2) ;
EXE_EXPORT bool ExeSurfTmIntersect( int nId1, int nId2) ;
// GeomDb Volume Modify
EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ;