3ff5af8872
- piccole modifiche a Collision Avoding.
53 lines
2.1 KiB
C++
53 lines
2.1 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2018-2018
|
|
//----------------------------------------------------------------------------
|
|
// File : CAToolSurfTm.h Data : 08.05.18 Versione : 1.9e2
|
|
// Contenuto : Dichiarazioni per classe CAToolSurfTm.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 27.04.18 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "HashGrids2d.h"
|
|
#include "SurfTriMesh.h"
|
|
#include "Tool.h"
|
|
#include "/EgtDev/Include/EGkCAvToolSurfTm.h"
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CAvToolSurfTm : public ICAvToolSurfTm
|
|
{
|
|
public : // ICAvToolSurfTm
|
|
bool SetSurfTm( const ISurfTriMesh& Stm) override ;
|
|
bool SetMoveDir( const Vector3d& vtrMove) override ;
|
|
bool SetStdTool( double dH, double dR, double dCornR) override ;
|
|
bool SetAdvTool( double dH, double dR, double dTipH, double dTipR, double dCornR) override ;
|
|
double GetToolRadius( void) override
|
|
{ return m_Tool.GetRadius() ; }
|
|
double GetToolHeight( void) override
|
|
{ return m_Tool.GetHeigth() ; }
|
|
bool TestPosition( const Point3d& ptT, const Vector3d& vtDir, double& dTotDist) override ;
|
|
bool TestPath( PNTULIST& lPntM, const Vector3d& vtDir, double dLinTol) override ;
|
|
|
|
public :
|
|
CAvToolSurfTm( void) ;
|
|
|
|
private :
|
|
double MyTestPosition( Point3d& ptT, const Vector3d& vtDir) ;
|
|
double MyTestPositionHG( Point3d& ptT, const Vector3d& vtDir) ;
|
|
bool MyTestMidPointHG( PNTULIST& lPntM, const PNTULIST::iterator& itPntMPrev, const PNTULIST::iterator& itPntMCurr,
|
|
const Point3d& ptPrev, const Point3d& ptCurr, const Vector3d& vtDir, double dLinTol, int nLev) ;
|
|
bool PrepareHashGrid( void) ;
|
|
|
|
private :
|
|
Frame3d m_frMove ;
|
|
const SurfTriMesh* m_pSTm ;
|
|
HashGrids2d m_HGrids ;
|
|
Tool m_Tool ;
|
|
} ;
|