Conscience Core
Public Member Functions | Public Attributes | List of all members
conscience_core::axiomes::CscPolygon Class Reference

#include <Csc3dTypes.h>

Public Member Functions

 CscPolygon (const CscPoint3d *p0, const CscPoint3d *p1, const CscPoint3d *p2, const CscPoint3d *normal0=nullptr, const CscPoint3d *normal1=nullptr, const CscPoint3d *normal2=nullptr, int ID=0)
 
 CscPolygon (const CscPoint3d *positions[3], const CscPoint3d *normalVectors[3], int _ID)
 
virtual ~CscPolygon ()
 
const CscPoint3dgetBarycentre () const
 
const CscPoint3dgetNormals () const
 
CscPolygonclone () const
 
bool isPointInside (const CscPoint3d *pointToCheck) const
 
CscPolygonrotate (const CscPoint3d *rotationEulerXYZ, const CscPoint3d *rotationCenter=nullptr) const
 
CscPolygontranslate (double x, double y, double z) const
 
CscPolygontranslate (const CscPoint3d &translation) const
 
const CscPoint3dpositionAt (int index) const
 
const CscPoint3dnormalAt (int index) const
 
vector< const CscPoint3d * > getPositions () const
 

Public Attributes

const int ID
 

Constructor & Destructor Documentation

◆ CscPolygon() [1/2]

conscience_core::axiomes::CscPolygon::CscPolygon ( const CscPoint3d p0,
const CscPoint3d p1,
const CscPoint3d p2,
const CscPoint3d normal0 = nullptr,
const CscPoint3d normal1 = nullptr,
const CscPoint3d normal2 = nullptr,
int  ID = 0 
)
Note
given points will be owned by this polygon, which means that they will be deleted when this polygon is released

◆ CscPolygon() [2/2]

conscience_core::axiomes::CscPolygon::CscPolygon ( const CscPoint3d positions[3],
const CscPoint3d normalVectors[3],
int  _ID 
)
Note
given points will be owned by this polygon, which means that they will be deleted when this polygon is released

◆ ~CscPolygon()

conscience_core::axiomes::CscPolygon::~CscPolygon ( )
virtual

Member Function Documentation

◆ clone()

CscPolygon * conscience_core::axiomes::CscPolygon::clone ( ) const

◆ getBarycentre()

const CscPoint3d * conscience_core::axiomes::CscPolygon::getBarycentre ( ) const

◆ getNormals()

const CscPoint3d * conscience_core::axiomes::CscPolygon::getNormals ( ) const

◆ getPositions()

vector<const CscPoint3d *> conscience_core::axiomes::CscPolygon::getPositions ( ) const
inline

◆ isPointInside()

bool conscience_core::axiomes::CscPolygon::isPointInside ( const CscPoint3d pointToCheck) const

◆ normalAt()

const CscPoint3d* conscience_core::axiomes::CscPolygon::normalAt ( int  index) const
inline

◆ positionAt()

const CscPoint3d* conscience_core::axiomes::CscPolygon::positionAt ( int  index) const
inline

◆ rotate()

CscPolygon * conscience_core::axiomes::CscPolygon::rotate ( const CscPoint3d rotationEulerXYZ,
const CscPoint3d rotationCenter = nullptr 
) const

Rotate this polgon

Parameters
rotationEulerXYZrotation
rotationCenterif null, will be origin
Returns
a NEW polygon

◆ translate() [1/2]

CscPolygon * conscience_core::axiomes::CscPolygon::translate ( const CscPoint3d translation) const

◆ translate() [2/2]

CscPolygon * conscience_core::axiomes::CscPolygon::translate ( double  x,
double  y,
double  z 
) const

Member Data Documentation

◆ ID

const int conscience_core::axiomes::CscPolygon::ID

The documentation for this class was generated from the following files: