3143c00729
- aggiunte le funzioni ProjectCurveOnSurfBez e la sua versione estesa.
56 lines
2.2 KiB
C++
56 lines
2.2 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2024-2024
|
|
//----------------------------------------------------------------------------
|
|
// File : ProjectCurveSurfBez.cpp Data : 07.05.24 Versione : 2.6e3
|
|
// Contenuto : Implementazione funzioni proiezione curve su superficie Bezier.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 07.05.24 DB Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "/EgtDev/Include/EGkProjectCurveSurfTm.h"
|
|
#include "/EgtDev/Include/EGkSurfBezier.h"
|
|
|
|
using namespace std ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const Vector3d& vtDir, double dLinTol, double dMaxSegmLen,
|
|
PNT5AXVECTOR& vPt5ax)
|
|
{
|
|
const ISurfTriMesh* pAuxSurf = surfBez.GetAuxSurf() ;
|
|
return ProjectCurveOnSurfTm( crCrv, *pAuxSurf, vtDir, dLinTol, dMaxSegmLen, vPt5ax) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const IGeoPoint3d& gpRef,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax)
|
|
{
|
|
const ISurfTriMesh* pAuxSurf = surfBez.GetAuxSurf() ;
|
|
return ProjectCurveOnSurfTm( crCrv, *pAuxSurf, gpRef, dLinTol, dMaxSegmLen, vPt5ax) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const ICurve& crRef,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax)
|
|
{
|
|
const ISurfTriMesh* pAuxSurf = surfBez.GetAuxSurf() ;
|
|
return ProjectCurveOnSurfTm( crCrv, *pAuxSurf, crRef, dLinTol, dMaxSegmLen, vPt5ax) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const ISurfTriMesh& tmRef,
|
|
double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax)
|
|
{
|
|
const ISurfTriMesh* pAuxSurf = surfBez.GetAuxSurf() ;
|
|
return ProjectCurveOnSurfTm( crCrv, *pAuxSurf, tmRef, dLinTol, dMaxSegmLen, vPt5ax) ;
|
|
}
|