d276809906
- Swept con o senza caps mediante RMF - inizio stesura codice per frame statico - migliorie varie.
45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2024
|
|
//----------------------------------------------------------------------------
|
|
// File : RotationMinimizeFrame.h Data : 05.03.24 Versione : 2.6c1
|
|
// Contenuto : Dichiarazione della classe RotationMinimizeFrame
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 05.03.24 RE Creazione modulo.
|
|
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkFrame3d.h"
|
|
#include "/EgtDev/Include/EGkCurve.h"
|
|
#include <vector>
|
|
|
|
//----------------------------------------------------------------------------
|
|
typedef std::vector<Frame3d> FRAME3DVECTOR ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class RotationMinimizeFrame
|
|
{
|
|
public :
|
|
RotationMinimizeFrame( const ICurve* pCrv, const Frame3d& fr_Start) ;
|
|
~RotationMinimizeFrame( void) ;
|
|
|
|
public :
|
|
bool GetFramesByStep( FRAME3DVECTOR& vRMFrames, double dStep, bool bUniform = false) ;
|
|
bool GetFramesBySplit( FRAME3DVECTOR& vRMFrames, int nIntervals) ;
|
|
bool GetFramesByTollerance( FRAME3DVECTOR& vRMFrames, double dTol) ;
|
|
|
|
private :
|
|
bool Clear( void) ;
|
|
bool IsValid( void) ;
|
|
bool GetFrameAtLength( const Frame3d& frAct, const double dLenNext, Frame3d& frNext) ;
|
|
|
|
private :
|
|
ICurve* m_pCrv ; // curva per il calcolo del rotation minimize frame
|
|
Frame3d m_Frame0 ; // frame iniziale della curva
|
|
} ;
|
|
|