ac2da7f310
- aggiunta costante KEY_ERR_NETKEY_NOTFOUND = 9 - aggiornamento prototipi.
54 lines
2.6 KiB
C++
54 lines
2.6 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2023-2023
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkProjectCurveSurfTm.h Data : 31.08.23 Versione : 2.5h3
|
|
// Contenuto : Dichiarazione funzioni proiezione curve su superficie Trimesh.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 31.08.23 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkGeoPoint3d.h"
|
|
#include "/EgtDev/Include/EGkCurve.h"
|
|
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
|
|
|
//----------------------- Macro per import/export ----------------------------
|
|
#undef EGK_EXPORT
|
|
#if defined( I_AM_EGK) // da definirsi solo nella DLL
|
|
#define EGK_EXPORT __declspec( dllexport)
|
|
#else
|
|
#define EGK_EXPORT __declspec( dllimport)
|
|
#endif
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Definizione di Punto 5assi e sue raccolte
|
|
struct Point5ax {
|
|
Point3d ptP ;
|
|
Vector3d vtDir ;
|
|
Vector3d vtDir2 ;
|
|
double dPar ;
|
|
int nFlag ;
|
|
Point5ax( void) : ptP(), vtDir(), vtDir2(), dPar(), nFlag() {} ;
|
|
Point5ax( const Point3d& ptBase, const Vector3d& vtTool, double dU, int nData)
|
|
: ptP( ptBase), vtDir( vtTool), vtDir2(), dPar( dU), nFlag( nData) {} ;
|
|
Point5ax( const Point3d& ptBase, const Vector3d& vtTool, const Vector3d& vtTool2, double dU, int nData)
|
|
: ptP( ptBase), vtDir( vtTool), vtDir2( vtTool2), dPar( dU), nFlag( nData) {} ;
|
|
} ;
|
|
typedef std::vector<Point5ax> PNT5AXVECTOR ; // vettore di Punti 5assi
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Proiezione di una curva su una superficie TriMesh lungo la direzione data.
|
|
EGK_EXPORT bool ProjectCurveOnSurfTm( const ICurve& crCrv, const ISurfTriMesh& tmSurf, const Vector3d& vtDir,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ;
|
|
EGK_EXPORT bool ProjectCurveOnSurfTm( const ICurve& crCrv, const ISurfTriMesh& tmSurf, const IGeoPoint3d& gpRef,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ;
|
|
EGK_EXPORT bool ProjectCurveOnSurfTm( const ICurve& crCrv, const ISurfTriMesh& tmSurf, const ICurve& crRef,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ;
|
|
EGK_EXPORT bool ProjectCurveOnSurfTm( const ICurve& crCrv, const ISurfTriMesh& tmSurf, const ISurfTriMesh& tmRef,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ;
|