4ebb43bf1e
aggiunto comando COUNTER in tsc.
66 lines
2.4 KiB
C++
66 lines
2.4 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2013-2013
|
|
//----------------------------------------------------------------------------
|
|
// File : GdbGroup.h Data : 28.11.13 Versione : 1.4a2
|
|
// Contenuto : Dichiarazione della classe GdbGroup.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 28.11.13 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include "/EgtDev/Include/EGkGeoObj.h"
|
|
#include "GeoFrame3d.h"
|
|
#include "GdbNode.h"
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
class GdbGroup : public GdbNode
|
|
{
|
|
friend class GdbNode ;
|
|
|
|
public :
|
|
virtual ~GdbGroup( void) ;
|
|
virtual GdbGroup* Clone( int nId, IdManager& IdMgr) const ;
|
|
virtual bool Save( std::ostream& osOut) const ;
|
|
virtual bool Load( const std::string& sType, Scanner& TheScanner, int& nParentId) ;
|
|
virtual bool GetLocalBBox( BBox3d& b3Loc) const ;
|
|
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref) const ;
|
|
virtual bool Translate( const Vector3d& vtMove) ;
|
|
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
|
|
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
|
|
{ double dAngRad = dAngDeg * DEGTORAD ;
|
|
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
|
|
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
|
|
|
|
public :
|
|
GdbGroup( void) ;
|
|
bool Clear( void) ;
|
|
void NodeCountInc( void) { ++ m_nNodeCount ; }
|
|
void NodeCountDec( void) { -- m_nNodeCount ; }
|
|
int GetNodeCount( void) const { return m_nNodeCount ; }
|
|
GdbNode* GetFirstNode( void) { return m_pFirstNode ; }
|
|
const GdbNode* GetFirstNode( void) const { return m_pFirstNode ; }
|
|
GdbNode* GetLastNode( void) { return m_pLastNode ; }
|
|
const GdbNode* GetLastNode( void) const { return m_pLastNode ; }
|
|
|
|
public :
|
|
static const std::string& GetKey( void) { static std::string s_sKey = "A_GRP" ; return s_sKey ; }
|
|
|
|
public :
|
|
bool GetGlobFrame( Frame3d& frGlob) ;
|
|
|
|
public :
|
|
GeoFrame3d m_gfrFrame ;
|
|
|
|
private :
|
|
int m_nNodeCount ;
|
|
GdbNode* m_pFirstNode ;
|
|
GdbNode* m_pLastNode ;
|
|
} ;
|