1dc2992628
- in import BTL aggiunta gestione piani di riferimento a Slot (3/4-016-X) - in import BTL corretta gestione piani di riferimento in Pocket (4-039-X).
296 lines
22 KiB
C++
296 lines
22 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2022
|
|
//----------------------------------------------------------------------------
|
|
// File : BtlGeom.h Data : 04.04.22 Versione : 2.4d25
|
|
// Contenuto : Dichiarazione della classe BtlGeom.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 26.08.15 DS Creazione modulo.
|
|
// 04.04.22 DS Aggiunta gestione trim feature con outline.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "BtlGeomCoStru.h"
|
|
#include "/EgtDev/Include/EGkGeomDB.h"
|
|
#include "/EgtDev/Include/EGkCurveComposite.h"
|
|
#include "/EgtDev/Include/EGkPolygon3d.h"
|
|
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
|
|
|
//----------------------------------------------------------------------------
|
|
class BtlGeom
|
|
{
|
|
public :
|
|
BtlGeom( void) ;
|
|
|
|
public :
|
|
bool Init( IGeomDB* pGDB, int nFlatPos, bool bSpecialTrim, bool bTrimWithOutline, bool bUseUAttr) ;
|
|
bool CreatePart( void) ;
|
|
bool SetPart( int nPartId) ;
|
|
bool ErasePart( void) ;
|
|
int GetCurrPartId( void)
|
|
{ return m_nPartId ; }
|
|
int GetCurrOutsLayId( void)
|
|
{ return m_nOutsId ; }
|
|
int GetCurrProcsLayId( void)
|
|
{ return m_nProcsId ; }
|
|
bool VerifyNewPartProdNbr( int nProdNbr) ;
|
|
bool SetPartProdNbr( int nProdNbr, int nPdnErr = -1) ;
|
|
bool SetPartName( const std::string& sDes) ;
|
|
bool SetPartCount( int nCount) ;
|
|
bool AddPartBox( double dLength, double dHeight, double dWidth) ;
|
|
double GetCurrPartLength( void)
|
|
{ return ( m_nPartId != GDB_ID_NULL ? m_vtDim.x : 0) ;}
|
|
double GetCurrPartHeight( void)
|
|
{ return ( m_nPartId != GDB_ID_NULL ? m_vtDim.y : 0) ;}
|
|
double GetCurrPartWidth( void)
|
|
{ return ( m_nPartId != GDB_ID_NULL ? m_vtDim.z : 0) ;}
|
|
bool AddPartTransformation( const std::string& sUID, const Frame3d& frRef) ;
|
|
bool AddObjectRef( const std::string& sUID, const Frame3d& frRef) ;
|
|
bool AdjustPartFlatOrVertPos( void) ;
|
|
bool ResetPartSolid( void) ;
|
|
std::string GetPartName( void) ;
|
|
bool SetUserAttribute( int nUAttrDest, const std::string& sString) ;
|
|
bool SetUserAttribute( int nUAttrDest, const std::string& sKey, const std::string& sVal) ;
|
|
bool AdjustSnForParts( void) ;
|
|
bool SortObjects( int nGroupId, Point3d& ptIns) ;
|
|
bool UpdateNextOrigin( void) ;
|
|
int GetRawPartsGroup( bool bCreate = false) ;
|
|
bool AdjustRawPart( int nRawPartId) ;
|
|
bool AdjustRefForRawParts( void) ;
|
|
int GetCompositesGroup( bool bCreate = false) ;
|
|
bool AdjustComposite( int nCompositeId) ;
|
|
bool AdjustRefForComposites( void) ;
|
|
|
|
public : // Outline
|
|
bool AddPartOutline( int nSide, const FCEDEQUE& dqFce, int nContType, int nContData, double dContPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddPartOutline( int nSide, int nCrvId, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddPartAperture( int nSide, const FCEDEQUE& dqFce, int nContType, int nContData, double dContPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddPartAperture( int nSide, int nCrvId, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool UpdateOutLine( void) ;
|
|
bool AddPartStdOutline( void) ;
|
|
bool AddPartCustomOutline( void) ;
|
|
bool TrimOutlineWithApertures( void) ;
|
|
bool TrimOutlineWithProcesses( void) ;
|
|
bool TrimProcessWithOutline( int nProcId) ;
|
|
|
|
public : // Proc
|
|
bool GetProcessParamInfos( int nGroup, int nProc, int nSide,
|
|
INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar) const ;
|
|
bool AddProcess( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, int nSPar, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt, int nLine) ;
|
|
bool AddOneFreeContour( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt, int nCrvId, int nCrv2Id) ;
|
|
int GetLastProcessId( void) { return m_nProcId ; }
|
|
bool CreateFreeContours( void) ;
|
|
bool SetProcessColor( int nId, bool bEnable) ;
|
|
|
|
public : // Proc BTLx
|
|
bool AddTenonBTLX( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDovetailTenonBTLX( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddShapeBTLX( const INTMATRIX& vFacesVertices, const PNTVECTOR& vPoints) ;
|
|
|
|
public : // Data
|
|
bool IsTrueSide( int nSide) const ; // esclude gli estremi (RIGHT e LEFT)
|
|
double GetSideLength( int nSide) const ;
|
|
double GetSideWidth( int nSide) const ;
|
|
double GetSideHeight( int nSide) const ;
|
|
Frame3d GetSideFrame( int nSide) const ;
|
|
Plane3d GetSidePlane( int nSide) const ;
|
|
Vector3d GetSideVersN( int nSide) const ;
|
|
int GetOppositeSide( int nSide) const ;
|
|
|
|
private :
|
|
bool CreateInfoGroup( void) ;
|
|
bool CreateAssemblyGroup( void) ;
|
|
bool CreateRawPartsGroup( void) ;
|
|
bool CreateCompositesGroup( void) ;
|
|
bool ReadUserAttribute( const std::string& sString, std::string& sKey, std::string& sVal) ;
|
|
std::string GetOutlineOutName( int nSide) const ;
|
|
std::string GetOutlineApertureName( int nSide) const ;
|
|
std::string GetOutlineTopName( int nSide) const ;
|
|
std::string GetOutlineBottomName( int nSide) const ;
|
|
bool SetAlpha( int nId, int nAlpha) ;
|
|
|
|
private : // Outline
|
|
bool UseProcessToTrimOutline( int nProcId) ;
|
|
bool TrimOutline( int nProcSurfId) ;
|
|
bool TrimOutline( const ISurfTriMesh* pStm) ;
|
|
bool GetLineInFace( const Point3d& ptP1, const Point3d& ptP2, int& nFace) const ;
|
|
bool IsLineOnFace( const Point3d& ptP1, const Point3d& ptP2, int nFace) const ;
|
|
bool IsCrossCut( const POLYLINEVECTOR& vPL, int& nCross) const ;
|
|
bool RemoveDanglingFace( int nCross, const ICURVEPOVECTOR vCrvP[], const ISurfTriMesh* pStm) ;
|
|
bool AdjustOneOutlineFace( int nSide, ICURVEPOVECTOR& vCrvP) ;
|
|
int GetFaceRegion( int nSide) ;
|
|
ICurve* GetFaceContour( int nSide) ;
|
|
bool IsPointOnFaceContour( const Point3d& ptP, int nSide) ;
|
|
bool IsPointNearFaceContour( const Point3d& ptP, int nSide) ;
|
|
bool IsPointOutFaceContour( const Point3d& ptP, int nSide) ;
|
|
bool SetPointOnFaceContour( Point3d& ptP, int nSide) ;
|
|
bool TrimRayWithFaceContour( const Point3d& ptP, const Vector3d& vtDir, int nSide, Point3d& ptInt) ;
|
|
|
|
private : // Proc
|
|
bool AddCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddLongitCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDoubleCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddRidgeValleyCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddSawCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddSlot( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddFrontSlot( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddBirdsMouth( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddRafterNotch( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddRidgeLap( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddLapJoint( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddNotch( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddLogHouseHL2( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddSeathingCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddFrenchRidgeLap( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddChamfer( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddLogHouseHL4( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddLogHouseFront( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddPocket( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDrill( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddTenon( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddMortise( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddMortiseFront( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDovetailTenon( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDovetailMortise( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDtMortiseFront( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddMarking( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, int nSPar, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddText( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, int nSPar, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddSimpleScarf( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddScarfJoint( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddStepJoint( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddStepJointNotch( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddPlaning( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddProfileFront( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddProfileHeadCoCo( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddProfileHeadCambered( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddProfileHead( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddRoundArch( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddTriangleCut( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddTyroleanDovetail( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddDovetail( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddFreeContour( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AddVariant( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
ICurveComposite* GetFreeContourCurve( int nProcId, const Frame3d& frRef, bool bOnlyStartOk = false) ;
|
|
ISurfTriMesh* CreateOneCurveFreeContour( const ICurveComposite* pCrvCompo) ;
|
|
bool AdjustFreeContourCurve( ICurve* pCrv, int nSide, bool& bClosed, bool& bEndsOnOrOutCont) ;
|
|
bool VerifyFreeContourCurveSideAng( const ICurveComposite* pCrvCompo) ;
|
|
bool GetFreeContourCurveSideAngles( const ICurveComposite* pCrvCompo, DBLVECTOR& vSideAng) ;
|
|
bool CreatePolygonInBox( const Point3d& ptP, const Vector3d& vtN, int nSide, Polygon3d& Polyg,
|
|
double dMatMin = FACE_MIN_BACK_MAT, double dAreaMin = FACE_MIN_BACK_AREA) ;
|
|
double GetPlaneElevation( const Plane3d& plPlane) ;
|
|
bool TrimPolygons( Polygon3d& plyP1, Polygon3d& plyP2, bool bInVsOut, bool bOnEq) ;
|
|
bool VerifyPolygonSize( Polygon3d& plyP, double dMinDim = FACE_MIN_CROSS_DIM) ;
|
|
bool VerifyPolygonBackMat( Polygon3d& plyP, double dMatMin = FACE_MIN_BACK_MAT, double dAreaMin = FACE_MIN_BACK_AREA) ;
|
|
bool VerifyPolygonWithPolygon( Polygon3d& plyP, const Polygon3d& plyRef, bool bInVsOut, double dMatMin = FACE_MIN_BACK_MAT) ;
|
|
bool VerifyPolygonWithPolygons( Polygon3d& plyP, const Polygon3d& plyRef1, const Polygon3d& plyRef2,
|
|
bool bInVsOut, double dMatMin = FACE_MIN_BACK_MAT) ;
|
|
bool VerifyPolygonWithPolygons( Polygon3d& plyP, const Polygon3d& plyRef1, const Polygon3d& plyRef2,
|
|
const Polygon3d& plyRef3, bool bInVsOut, double dMatMin = FACE_MIN_BACK_MAT) ;
|
|
bool VerifyPolygonWithPolygons( Polygon3d& plyP, const Polygon3d& plyRef1, const Polygon3d& plyRef2,
|
|
const Polygon3d& plyRef3, const Polygon3d& plyRef4, bool bInVsOut, double dMatMin = FACE_MIN_BACK_MAT) ;
|
|
bool TrimConcaveFaces( POLYGVECTOR& vPolyg, const INTMATRIX& vAdjac, double dMatMin = FACE_MIN_BACK_MAT, double dAreaMin = FACE_MIN_BACK_AREA) ;
|
|
bool DoSewing( ISurfTriMesh* pStm, const Polygon3d& Polyg) ;
|
|
bool TrimSurfTmWithBox( ISurfTriMesh* pStm) ;
|
|
bool TrimFlatCurveWithBox( ICurve* pCurve, double dLinTol = 0) ;
|
|
ICurve* TrimFlatCurveWithBoxEx( ICurve* pCurve, double dLinTol = 0) ;
|
|
bool TrimSegmentWithBox( Point3d& ptP1, Point3d& ptP2, double dRad) ;
|
|
ICurveComposite* CurveFromFces( const FCEDEQUE& dqFce, int nStartInd = 0) ;
|
|
ICurve* GetDirectrixOfRuledSurf( const ISurfTriMesh* pStm, const Vector3d& vtExtr) ;
|
|
bool SetNameAndInfo( int nId, int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId) ;
|
|
bool SetParams( int nId, const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool SetUserAttributes( int nId, const STRVECTOR& vsUAtt) ;
|
|
bool SetMainAdjId( int nMainId, const INTVECTOR& vnAdjId) ;
|
|
bool SetAuxId( int nId, const INTVECTOR& vnAuxId) ;
|
|
bool SetDrillEnds( int nId, int nStartFace, int nEndFace) ;
|
|
bool CopyTaskId( int nId, const INTVECTOR& vnAuxId) ;
|
|
bool GetUserParam( const STRVECTOR& vsUAtt, const std::string& sKey, double& dVal) ;
|
|
bool GetWaveLengths( int nWaves, double dLen, DBLVECTOR& vLen) ;
|
|
bool GetWaveReductions( int nWaves, double dWidth, DBLVECTOR& vRed) ;
|
|
bool InsertEmptySurface( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef,
|
|
const INTVECTOR& vnDPar, const DBLVECTOR& vdPar, const STRVECTOR& vsUAtt) ;
|
|
bool AdjustPointForPlaneNearBoxVertex( Point3d& ptP, const Vector3d& vtN, int nSide) ;
|
|
|
|
private :
|
|
IGeomDB* m_pGDB ;
|
|
int m_nFlatVertPos ; // flag per posizionamento pezzi (0=come sono, 1=di piatto, 2=in verticale, 3=ruotato 90deg, 4=da outline o piatto)
|
|
bool m_bSpecialTrim ; // flag per trim speciale regioni per pareti (solo con feature passanti)
|
|
bool m_bTrimWithOutline ; // flag per trim delle feature con l'outline (se presente)
|
|
bool m_bUseUAttr ; // flag per utilizzo attributi utente per modificare geometria features
|
|
Color m_BoxCol ; // colore per box pezzi
|
|
Color m_OutsCol ; // colore per outline pezzi
|
|
Color m_ProcsCol ; // colore per lavorazioni pezzi
|
|
Color m_ProcsOffCol ; // colore per lavorazioni pezzi disabilitate
|
|
Color m_MarkCol ; // colore per linee di marcatura e testi
|
|
Color m_SolidCol ; // colore per il solido
|
|
int m_nInfoId ; // identificativo gruppo per informazioni varie
|
|
int m_nAsseId ; // identificativo gruppo per trasformazioni di assemblaggio
|
|
int m_nRawPartsId ; // identificativo gruppo dei grezzi
|
|
int m_nCompositesId ; // identificativo gruppo dei compositi
|
|
Point3d m_ptOrig ; // origine di inserimento del prossimo pezzo
|
|
int m_nPartId ; // identificativo del pezzo corrente
|
|
int m_nAuxId ; // identificativo del layer aux del pezzo corrente
|
|
int m_nBoxId ; // identificativo del layer box del pezzo corrente
|
|
int m_nOutsId ; // identificativo del layer outline del pezzo corrente
|
|
int m_nProcsId ; // identificativo del layer lavorazioni del pezzo corrente
|
|
int m_nSolidsId ; // identificativo del layer solido del pezzo corrente
|
|
Vector3d m_vtDim ; // dimensioni (LENGTH,HEIGHT,WIDTH) del pezzo corrente
|
|
int m_nCount ; // quantit� da produrre del pezzo corrente
|
|
int m_nProcId ; // identificativo dell'ultima feature inserita
|
|
int m_nBtlLine ; // numero di linea corrente nel file BTL
|
|
FCSDEQUE m_FcStart ; // dati per inizi di contorni liberi
|
|
FCEDEQUE m_FcData ; // dati per contorni liberi in definizione
|
|
|
|
public :
|
|
static std::string m_sBtlAuxDir ; // direttorio in cui cercare i dati per le feature Variant
|
|
} ;
|