Compare commits
16 Commits
Nst_SurfFr
...
LorenzoM
| 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
|
||||
|
||||
#include "EgtDev/Include/EGkSurfTriMesh.h"
|
||||
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGK_EXPORT
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "EgtDev/Include/EGkFrame3d.h"
|
||||
#include "EgtDev/Include/EGkSurfTriMesh.h"
|
||||
#include "/EgtDev/Include/EGkFrame3d.h"
|
||||
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGK_EXPORT
|
||||
|
||||
+2
-2
@@ -58,8 +58,8 @@ class __declspec( novtable) ICurveComposite : public ICurve
|
||||
virtual bool IsAPoint( void) 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 SetCurveTempProp( int nCrv, int nProp, int nPropInd = 0) = 0 ;
|
||||
virtual bool GetCurveTempProp( int nCrv, int& nProp, int nPropInd = 0) const = 0 ;
|
||||
virtual bool SetCurveTempProp( int nCrv, int nProp, int nPropNum = 0) = 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 IObjGraphics* GetObjGraphics( void) = 0 ;
|
||||
virtual const IObjGraphics* GetObjGraphics( void) const = 0 ;
|
||||
virtual void SetTempProp( int nProp, int nPropInd = 0) = 0 ;
|
||||
virtual int GetTempProp( int nPropInd = 0) const = 0 ;
|
||||
virtual void SetTempProp( int nProp, int nPropNum = 0) = 0 ;
|
||||
virtual int GetTempProp( int nPropNum = 0) const = 0 ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "EgtDev/Include/EGkBBox3d.h"
|
||||
#include "EgtDev/Include/EgtNumCollection.h"
|
||||
#include "/EgtDev/Include/EGkBBox3d.h"
|
||||
#include "/EgtDev/Include/EgtNumCollection.h"
|
||||
#include <unordered_map>
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "EgtDev/Include/EGkBBox3d.h"
|
||||
#include "EgtDev/Include/EgtNumCollection.h"
|
||||
#include "/EgtDev/Include/EGkBBox3d.h"
|
||||
#include "/EgtDev/Include/EgtNumCollection.h"
|
||||
#include <unordered_map>
|
||||
|
||||
//----------------------- 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
|
||||
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_VERT_VERT = 2, // intersezione coppia di vertici
|
||||
ITTT_VERT_EDGE = 3, // vertice del primo su lato del secondo
|
||||
|
||||
@@ -99,6 +99,8 @@ class PolyLine
|
||||
{ return GetPrevULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
||||
EGK_EXPORT PNTULIST& GetUPointList( void)
|
||||
{ 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( Plane3d& plPlane, 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 GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ;
|
||||
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 :
|
||||
bool MyChangeStart( int nPos) ;
|
||||
@@ -132,3 +141,16 @@ class PolyLine
|
||||
// Raccolte di PolyLine
|
||||
typedef std::vector<PolyLine> POLYLINEVECTOR ; // vettore 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* GetSurfFlatRegionStadium( double dWidth, double dLen) ;
|
||||
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,
|
||||
bool bSquareEnds, bool bSquareMids) ;
|
||||
// NB : la curva ingrassata non deve autointersecarsi
|
||||
@@ -56,9 +59,9 @@ class SurfFlatRegionByContours
|
||||
typedef std::vector<INDAREA> INDAREAVECTOR ; // vettore di coppie indice, area
|
||||
|
||||
private :
|
||||
bool m_bAllowedMore ; // ammesse più regioni
|
||||
bool m_bAllowedMultiChunk ; // ammesse regioni con più componenti disgiunti (chunk)
|
||||
bool m_bAllowedMore ; // ammesse pi� regioni
|
||||
bool m_bAllowedMultiChunk ; // ammesse regioni con pi� componenti disgiunti (chunk)
|
||||
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
|
||||
} ;
|
||||
@@ -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 CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, 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 GetBlockUpdatingCounter( int nBlock) 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 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 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 const ICurveComposite& GetToolOutline( bool bApprox = false) const = 0 ;
|
||||
virtual bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& ptPe, const Vector3d& vtDe) = 0 ;
|
||||
|
||||
Reference in New Issue
Block a user