Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d73c231820 | |||
| d769bc57df | |||
| df5d74161f | |||
| 8a031e252f | |||
| bb0e351cc4 | |||
| d954d264e7 | |||
| de55faf6e4 | |||
| 8d7401f07f | |||
| 1e988cf77c | |||
| c2e0d3ce14 | |||
| bd2cb827e9 | |||
| 53e5fcc269 | |||
| 8ad32287b4 | |||
| 300665ea03 | |||
| 621221b24e | |||
| 6b8f97230d |
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "EgtDev/Include/EGkSurfTriMesh.h"
|
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
||||||
|
|
||||||
//----------------------- Macro per import/export ----------------------------
|
//----------------------- Macro per import/export ----------------------------
|
||||||
#undef EGK_EXPORT
|
#undef EGK_EXPORT
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "EgtDev/Include/EGkFrame3d.h"
|
#include "/EgtDev/Include/EGkFrame3d.h"
|
||||||
#include "EgtDev/Include/EGkSurfTriMesh.h"
|
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
||||||
|
|
||||||
//----------------------- Macro per import/export ----------------------------
|
//----------------------- Macro per import/export ----------------------------
|
||||||
#undef EGK_EXPORT
|
#undef EGK_EXPORT
|
||||||
|
|||||||
+2
-2
@@ -58,8 +58,8 @@ class __declspec( novtable) ICurveComposite : public ICurve
|
|||||||
virtual bool IsAPoint( void) const = 0 ;
|
virtual bool IsAPoint( void) const = 0 ;
|
||||||
virtual bool IsALine( double dLinTol, Point3d& ptStart, Point3d& ptEnd) const = 0 ;
|
virtual bool IsALine( double dLinTol, Point3d& ptStart, Point3d& ptEnd) const = 0 ;
|
||||||
virtual bool IsACircle( double dLinTol, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW) const = 0 ;
|
virtual bool IsACircle( double dLinTol, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW) const = 0 ;
|
||||||
virtual bool SetCurveTempProp( int nCrv, int nProp, int nPropInd = 0) = 0 ;
|
virtual bool SetCurveTempProp( int nCrv, int nProp, int nPropNum = 0) = 0 ;
|
||||||
virtual bool GetCurveTempProp( int nCrv, int& nProp, int nPropInd = 0) const = 0 ;
|
virtual bool GetCurveTempProp( int nCrv, int& nProp, int nPropNum = 0) const = 0 ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|||||||
+2
-2
@@ -54,8 +54,8 @@ class __declspec( novtable) IGeoObj
|
|||||||
virtual void SetObjGraphics( IObjGraphics* pOGr) = 0 ;
|
virtual void SetObjGraphics( IObjGraphics* pOGr) = 0 ;
|
||||||
virtual IObjGraphics* GetObjGraphics( void) = 0 ;
|
virtual IObjGraphics* GetObjGraphics( void) = 0 ;
|
||||||
virtual const IObjGraphics* GetObjGraphics( void) const = 0 ;
|
virtual const IObjGraphics* GetObjGraphics( void) const = 0 ;
|
||||||
virtual void SetTempProp( int nProp, int nPropInd = 0) = 0 ;
|
virtual void SetTempProp( int nProp, int nPropNum = 0) = 0 ;
|
||||||
virtual int GetTempProp( int nPropInd = 0) const = 0 ;
|
virtual int GetTempProp( int nPropNum = 0) const = 0 ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|||||||
+2
-2
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "EgtDev/Include/EGkBBox3d.h"
|
#include "/EgtDev/Include/EGkBBox3d.h"
|
||||||
#include "EgtDev/Include/EgtNumCollection.h"
|
#include "/EgtDev/Include/EgtNumCollection.h"
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
//----------------------- Macro per import/export ----------------------------
|
//----------------------- Macro per import/export ----------------------------
|
||||||
|
|||||||
+2
-2
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "EgtDev/Include/EGkBBox3d.h"
|
#include "/EgtDev/Include/EGkBBox3d.h"
|
||||||
#include "EgtDev/Include/EgtNumCollection.h"
|
#include "/EgtDev/Include/EgtNumCollection.h"
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
//----------------------- Macro per import/export ----------------------------
|
//----------------------- Macro per import/export ----------------------------
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ EGK_EXPORT int IntersTriaTria( const Triangle3d& trTria1, const Triangle3d& trTr
|
|||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Tipo di intersezione triangolo-triangolo
|
// Tipo di intersezione triangolo-triangolo
|
||||||
enum IntTriaTriaType { ITTT_NO = 0, // non c'è intersezione
|
enum IntTriaTriaType { ITTT_NO = 0, // non c'� intersezione
|
||||||
ITTT_OVERLAPS = 1, // i triangoli si sovrappongono (i triangoli del poligono sono in vTria)
|
ITTT_OVERLAPS = 1, // i triangoli si sovrappongono (i triangoli del poligono sono in vTria)
|
||||||
ITTT_VERT_VERT = 2, // intersezione coppia di vertici
|
ITTT_VERT_VERT = 2, // intersezione coppia di vertici
|
||||||
ITTT_VERT_EDGE = 3, // vertice del primo su lato del secondo
|
ITTT_VERT_EDGE = 3, // vertice del primo su lato del secondo
|
||||||
|
|||||||
@@ -99,6 +99,8 @@ class PolyLine
|
|||||||
{ return GetPrevULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
{ return GetPrevULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
||||||
EGK_EXPORT PNTULIST& GetUPointList( void)
|
EGK_EXPORT PNTULIST& GetUPointList( void)
|
||||||
{ return m_lUPoints ; }
|
{ return m_lUPoints ; }
|
||||||
|
EGK_EXPORT const PNTULIST& GetUPointList( void) const
|
||||||
|
{ return m_lUPoints ; }
|
||||||
EGK_EXPORT bool IsFlat( int& nRank, Point3d& ptCen, Vector3d& vtDir, double dToler = EPS_SMALL) const ;
|
EGK_EXPORT bool IsFlat( int& nRank, Point3d& ptCen, Vector3d& vtDir, double dToler = EPS_SMALL) const ;
|
||||||
EGK_EXPORT bool IsFlat( Plane3d& plPlane, double dToler = EPS_SMALL) const ;
|
EGK_EXPORT bool IsFlat( Plane3d& plPlane, double dToler = EPS_SMALL) const ;
|
||||||
EGK_EXPORT bool IsClosedAndFlat( Plane3d& plPlane, double& dArea, double dToler = EPS_SMALL) const ;
|
EGK_EXPORT bool IsClosedAndFlat( Plane3d& plPlane, double& dArea, double dToler = EPS_SMALL) const ;
|
||||||
@@ -116,6 +118,13 @@ class PolyLine
|
|||||||
EGK_EXPORT bool GetConvexHullXY( PNTVECTOR& vConvHull) const ;
|
EGK_EXPORT bool GetConvexHullXY( PNTVECTOR& vConvHull) const ;
|
||||||
EGK_EXPORT bool GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ;
|
EGK_EXPORT bool GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ;
|
||||||
EGK_EXPORT bool Trim( const Plane3d& plPlane, bool bInVsOut = true) ;
|
EGK_EXPORT bool Trim( const Plane3d& plPlane, bool bInVsOut = true) ;
|
||||||
|
EGK_EXPORT bool ChangePolyLineStart( const Point3d& ptNewStart, double dTol = EPS_SMALL) ;
|
||||||
|
// nSegNum 0-based
|
||||||
|
EGK_EXPORT bool PointPositionOnPolyLine( const Point3d& ptPoint, int& nSegNum, double& dParOnSeg, double dTol = EPS_SMALL) const ;
|
||||||
|
EGK_EXPORT bool IsPointInsidePolyLine( const Point3d& ptP) const ;
|
||||||
|
EGK_EXPORT bool DistPointPolyLine( const Point3d& ptP, double& dPointPolyLineDist) const ;
|
||||||
|
EGK_EXPORT bool SplitPolyLineAtPoint( const Point3d& ptPoint, PolyLine& Loop1, PolyLine& Loop2, double dTol = EPS_SMALL) const ;
|
||||||
|
EGK_EXPORT bool AddPolyLineToPolyLine( PolyLine& PolyToAdd, double dTol = EPS_SMALL) ;
|
||||||
|
|
||||||
private :
|
private :
|
||||||
bool MyChangeStart( int nPos) ;
|
bool MyChangeStart( int nPos) ;
|
||||||
@@ -132,3 +141,16 @@ class PolyLine
|
|||||||
// Raccolte di PolyLine
|
// Raccolte di PolyLine
|
||||||
typedef std::vector<PolyLine> POLYLINEVECTOR ; // vettore di PolyLine
|
typedef std::vector<PolyLine> POLYLINEVECTOR ; // vettore di PolyLine
|
||||||
typedef std::list<PolyLine> POLYLINELIST ; // lista di PolyLine
|
typedef std::list<PolyLine> POLYLINELIST ; // lista di PolyLine
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
struct PositionOnPolyLine {
|
||||||
|
int nIndexInVec ;
|
||||||
|
int nSegNum ;
|
||||||
|
double dParOnSeg ;
|
||||||
|
PositionOnPolyLine( int nIndex, int nSeg, double dPar) {
|
||||||
|
nIndexInVec = nIndex ;
|
||||||
|
nSegNum = nSeg ;
|
||||||
|
dParOnSeg = dPar ;
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|||||||
+6
-3
@@ -29,6 +29,9 @@ class Triangle3d ;
|
|||||||
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionRectangle( double dWidth, double dLen) ;
|
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionRectangle( double dWidth, double dLen) ;
|
||||||
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionStadium( double dWidth, double dLen) ;
|
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionStadium( double dWidth, double dLen) ;
|
||||||
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionDisk( double dRadius) ;
|
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionDisk( double dRadius) ;
|
||||||
|
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromPolyLine( const PolyLine& ContourPolyLine) ;
|
||||||
|
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromPolyLineVector( const POLYLINEVECTOR& vContoursPolyLineVec) ;
|
||||||
|
// la curva ingrassata non deve autointersecarsi
|
||||||
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius,
|
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius,
|
||||||
bool bSquareEnds, bool bSquareMids) ;
|
bool bSquareEnds, bool bSquareMids) ;
|
||||||
// NB : la curva ingrassata non deve autointersecarsi
|
// NB : la curva ingrassata non deve autointersecarsi
|
||||||
@@ -56,9 +59,9 @@ class SurfFlatRegionByContours
|
|||||||
typedef std::vector<INDAREA> INDAREAVECTOR ; // vettore di coppie indice, area
|
typedef std::vector<INDAREA> INDAREAVECTOR ; // vettore di coppie indice, area
|
||||||
|
|
||||||
private :
|
private :
|
||||||
bool m_bAllowedMore ; // ammesse più regioni
|
bool m_bAllowedMore ; // ammesse pi� regioni
|
||||||
bool m_bAllowedMultiChunk ; // ammesse regioni con più componenti disgiunti (chunk)
|
bool m_bAllowedMultiChunk ; // ammesse regioni con pi� componenti disgiunti (chunk)
|
||||||
bool m_bFirst ; // flag per prima superficie non ancora richiesta
|
bool m_bFirst ; // flag per prima superficie non ancora richiesta
|
||||||
ICURVEPVECTOR m_vpCrv ; // vettore di puntatori a curve, l'oggetto ne è possessore
|
ICURVEPVECTOR m_vpCrv ; // vettore di puntatori a curve, l'oggetto ne � possessore
|
||||||
INDAREAVECTOR m_vArea ; // vettore indice + area di ogni curva
|
INDAREAVECTOR m_vArea ; // vettore indice + area di ogni curva
|
||||||
} ;
|
} ;
|
||||||
@@ -55,6 +55,7 @@ class __declspec( novtable) IVolZmap : public IGeoObj
|
|||||||
virtual bool Create( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dPrec, bool bTriDex) = 0 ;
|
virtual bool Create( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dPrec, bool bTriDex) = 0 ;
|
||||||
virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dPrec, bool bTriDex) = 0 ;
|
virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dPrec, bool bTriDex) = 0 ;
|
||||||
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dPrec, bool bTriDex) = 0 ;
|
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dPrec, bool bTriDex) = 0 ;
|
||||||
|
virtual bool CreateEmptyMap( const Point3d& ptO, double dLengthX, double dLengthY, double dLengthZ, double dStep, bool bTriDex) = 0 ;
|
||||||
virtual int GetBlockCount( void) const = 0 ;
|
virtual int GetBlockCount( void) const = 0 ;
|
||||||
virtual int GetBlockUpdatingCounter( int nBlock) const = 0 ;
|
virtual int GetBlockUpdatingCounter( int nBlock) const = 0 ;
|
||||||
virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ;
|
virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ;
|
||||||
@@ -72,6 +73,11 @@ class __declspec( novtable) IVolZmap : public IGeoObj
|
|||||||
virtual bool SetGenTool( const std::string& sToolName, const ICurveComposite* pToolOutline, int nFlag) = 0 ;
|
virtual bool SetGenTool( const std::string& sToolName, const ICurveComposite* pToolOutline, int nFlag) = 0 ;
|
||||||
virtual bool SetMortiserTool( const std::string& sToolName, double dH, double dW, double dTh, double dRc, int nFlag) = 0 ;
|
virtual bool SetMortiserTool( const std::string& sToolName, double dH, double dW, double dTh, double dRc, int nFlag) = 0 ;
|
||||||
virtual bool SetChiselTool( const std::string& sToolName, double dH, double dW, double dTh, int nFlag) = 0 ;
|
virtual bool SetChiselTool( const std::string& sToolName, double dH, double dW, double dTh, int nFlag) = 0 ;
|
||||||
|
virtual bool SetCurrTool( int nCurrTool) = 0 ;
|
||||||
|
virtual int GetToolCount( void) const = 0 ;
|
||||||
|
virtual int GetCurrTool( void) const = 0 ;
|
||||||
|
virtual bool AddTool( void) = 0 ;
|
||||||
|
virtual bool ResetAllTools( void) = 0 ;
|
||||||
virtual bool ResetTool( void) = 0 ;
|
virtual bool ResetTool( void) = 0 ;
|
||||||
virtual const ICurveComposite& GetToolOutline( bool bApprox = false) const = 0 ;
|
virtual const ICurveComposite& GetToolOutline( bool bApprox = false) const = 0 ;
|
||||||
virtual bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& ptPe, const Vector3d& vtDe) = 0 ;
|
virtual bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& ptPe, const Vector3d& vtDe) = 0 ;
|
||||||
|
|||||||
Reference in New Issue
Block a user