d3bf0a7839
- corretta la riparametrizzazione tra superficie NURBS e Bezier.
64 lines
2.1 KiB
C++
64 lines
2.1 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2023
|
|
//----------------------------------------------------------------------------
|
|
// File : Import3dm.h Data : 23.06.23 Versione : 2.5f1
|
|
// Contenuto : Dichiarazione della classe Import3dm.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 23.06.23 DB Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EExImport3dm.h"
|
|
#include "/EgtDev/Include/EGkSurf.h"
|
|
//#include "/EgtDev/opennurbs/opennurbs.h"
|
|
|
|
class ON_Point ;
|
|
class ON_4dPoint ;
|
|
class ON_3fPoint ;
|
|
class ON_Object ;
|
|
class ON_3dPoint ;
|
|
class ON_Curve ;
|
|
class ON_Surface ;
|
|
class ON_Brep ;
|
|
class ON_BrepLoop ;
|
|
class ON_3dVector ;
|
|
class ON_2dVector ;
|
|
class ON_NurbsSurface ;
|
|
class ICurve ;
|
|
class ICurveArc ;
|
|
class ICurveLine ;
|
|
class ISurf ;
|
|
class ISurfTriMesh ;
|
|
class ISurfFlatRegion ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class Import3dm : public IImport3dm
|
|
{
|
|
public :
|
|
bool Import( const std::string& sFile, IGeomDB* pGDB, int nIdGroup, double dScaleFactor = 1,
|
|
double dTextHeight = 2.0, double dExtLine = 5.0, double dArrLen = 5.0, double dTextDist = 2.0,
|
|
bool bLenIsMM = true, int nDecDig = -2, std::string sFont = "ModernPropS.Nfe") override ;
|
|
|
|
private :
|
|
Point3d ConvertPoint( const ON_Point& onPoint) ;
|
|
Point3d ConvertPoint( const ON_3dPoint& on3dPoint) ;
|
|
Point3d ConvertPoint( const ON_4dPoint& on4dPoint) ;
|
|
Point3d ConvertPoint( const ON_3fPoint& on3fPoint) ;
|
|
Vector3d ConvertVector( const ON_3dVector& onVector) ;
|
|
Vector3d ConvertVector( const ON_2dVector& onVector) ;
|
|
ICurve* ConvertCurve( const ON_Curve* onCurve) ;
|
|
ISurf* ConvertSurface( const ON_Surface* onSurf) ;
|
|
ISURFPVECTOR ConvertBrep( const ON_Brep* onBrep, const bool bForceTriMesh) ;
|
|
ICurve* ConvertBrepLoop( const ON_BrepLoop* onBrepLoop) ;
|
|
bool MakeUniform( ISurfFlatRegion** sfr, ON_NurbsSurface onNurbsSurface, double& dScaleU, double& dScaleV) ;
|
|
|
|
private :
|
|
IGeomDB* m_pGDB ;
|
|
int m_nIdGroup ;
|
|
double m_dScaleFactor ;
|
|
} ; |