//---------------------------------------------------------------------------- // EgalTech 2015-2015 //---------------------------------------------------------------------------- // File : GeoTools.h Data : 01.02.15 Versione : 1.6b1 // Contenuto : Prototipi funzioni geometriche ausiliarie. // // // // Modifiche : 01.02.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkPoint3d.h" #include "/EgtDev/Include/EgtNumCollection.h" class IGeomDB ; //---------------------------------------------------------------------------- // Sistemo Id per pezzo o layer correnti int AdjustId( int nId) ; // Vettore espresso nel riferimento desiderato partendo da vettore nel riferimento RefType Vector3d GetVectorLocal( IGeomDB* pGeomDB, const Vector3d& vtV, int nRefType, const Frame3d& frLoc) ; // Vettore espresso nel riferimento RefType partendo da vettore nel riferimento locale Vector3d GetVectorInRef( IGeomDB* pGeomDB, const Vector3d& vtV, const Frame3d& frLoc, int nRefType) ; // Punto espresso nel riferimento desiderato partendo da punto nel riferimento RefType Point3d GetPointLocal( IGeomDB* pGeomDB, const Point3d& ptP, int nRefType, const Frame3d& frLoc) ; // Punto espresso nel riferimento RefType partendo da punto nel riferimento locale Point3d GetPointInRef( IGeomDB* pGeomDB, const Point3d& ptP, const Frame3d& frLoc, int nRefType) ; // Piano espresso nel riferimento desiderato partendo da piano nel riferimento RefType Plane3d GetPlaneLocal( IGeomDB* pGeomDB, const Plane3d& plPlane, int nRefType, const Frame3d& frLoc) ; // Piano espresso nel riferimento RefType partendo da piano nel riferimento locale Plane3d GetPlaneInRef( IGeomDB* pGeomDB, const Plane3d& plPlane, const Frame3d& frLoc, int nRefType) ; // Riferimento espresso nel riferimento desiderato partendo da riferimento nel riferimento RefType Frame3d GetFrameLocal( IGeomDB* pGeomDB, const Frame3d& frRef, int nRefType, const Frame3d& frLoc) ; // Riferimento espresso nel riferimento RefType partendo da riferimento nel riferimento locale Frame3d GetFrameInRef( IGeomDB* pGeomDB, const Frame3d& frRef, const Frame3d& frLoc, int nRefType) ; // Punto portato dal riferimento di nId a quello di nRefId bool TransformPoint( IGeomDB* pGeomDB, int nId, int nRefId, Point3d& ptP) ; // Trasformazione inversa della precedente, dal riferimento di nRefId a quello di nId bool InvTransformPoint( IGeomDB* pGeomDB, int nId, int nRefId, Point3d& ptP) ; // Vettore portato dal riferimento di nId a quello di nRefId bool TransformVector( IGeomDB* pGeomDB, int nId, int nRefId, Vector3d& vtV) ; // Trasformazione inversa della precedente, dal riferimento di nRefId a quello di nId bool InvTransformVector( IGeomDB* pGeomDB, int nId, int nRefId, Vector3d& vtV) ; // Riferimento portato dal riferimento di nId a quello di nRefId bool TransformFrame( IGeomDB* pGeomDB, int nId, int nRefId, Frame3d& frF) ; // Verifica che tutti gli oggetti dell'insieme abbiano lo stesso riferimento bool VerifySameFrame( IGeomDB* pGeomDB, const INTVECTOR& vIds) ;