Conscience Core
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
CscWorldEntity Class Reference

#include <CscWorldEntity.h>

Inheritance diagram for CscWorldEntity:
CscWorldElement

Public Member Functions

 CscWorldEntity (const string &serialNumber, const CscEntityModel *model, const string &name, CscPoint3d *position, CscPoint3d *rotation)
 
virtual ~CscWorldEntity ()=default
 
const CscEntityModel * getModel () const
 
CscWorldEntity * clone () const
 
- Public Member Functions inherited from CscWorldElement
 CscWorldElement (const CscWorldElementId &id, const string &name, CscPoint3d *positionIn, CscPoint3d *rotationEulerIn, CscPhysicsType physicsType=CscPhysicsType::BOUNDING_BOX, float mass=5.0, vector< CscWorldElementPart * > *parts=nullptr, vector< CscPoint3d * > *positions=nullptr, vector< CscPoint3d * > *normals=nullptr, vector< CscPolygon * > *polygons=nullptr, vector< const CscLocationTag * > *locationTags=nullptr, float minX=0, float minY=0, float minZ=0, float depth=0, float height=0, float width=0)
 
virtual ~CscWorldElement ()
 
virtual CscPoint3d getMinPositionInWorldCoordinates () const
 
const CscPoint3d * getPosition () const
 
void setPosition (float x, float y, float z)
 
const CscPoint3d * getRotationEulerAsPoint () const
 
void setRotationEuler (double x, double y, double z)
 
void setRotationQuaternion (double w, double x, double y, double z)
 
bool isIn3DArea (const CscArea3d *area) const
 
const string & getName () const
 
virtual CscWorldElementId getId () const
 
float getMass ()
 
virtual CscSize3d getDimensions () const
 
float * getVerticesArray () const
 
float * getPolygonsArray () const
 
int getVerticesCount () const
 
int getPolygonsCount () const
 
void repositionateToZeroOriginPositions ()
 
void repositionateToZeroOriginPolygons ()
 
vector< CscPoint3d * > * getPositions () const
 
vector< CscPolygon * > * getPolygons () const
 
vector< CscPolygon * > getPolygonsInWorldCoordinates () const
 
vector< CscPoint3d * > getYPlanSlicePoints (double sliceY, double precisionCm=5.0) const
 
vector< CscPoint3d * > * getNormals () const
 
const vector< CscWorldElementPart * > * getParts () const
 
vector< CscPoint3d * > * getReconstructedVerticesFromPolygons (const int stepInCm=10) const
 
CscPhysicsType getPhysicsType () const
 
const CscLocationTag * getLocationTagByName (const string &name) const
 
void forcePolygons (const vector< CscPolygon * > &newPolygons)
 
void addTag (const string &tag)
 
void removeTag (const string &tag)
 
bool hasTag (const string &tag) const
 
const double *const getRotationQuaternionArray () const
 
CscQuaternion getRotationQuaternion () const
 
CscRotation3dEuler getRotationEuler () const
 

Static Public Attributes

static const CscPoint3d *const entityDaeToCscEulerXYZ = new CscPoint3d(0.0, 0.0, -M_PI_2)
 

Protected Member Functions

const CscPoint3d & getBaseRotation () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from CscWorldElement
static CscWorldElementId nextId ()
 
- Public Attributes inherited from CscWorldElement
float depth = 0
 
float height = 0
 
float width = 0
 
float minX
 
float minY
 
float minZ
 
float mass = 1.0
 
float restitution = 0.3
 
float dampingLinear = 0.3
 
float dampingAngular = 0.3
 
float friction = 1.0
 
bool collideWithOthers = true
 
float certitude = 0.0
 
- Protected Attributes inherited from CscWorldElement
const CscWorldElementId id
 
vector< const CscLocationTag * > * locationTags
 

Constructor & Destructor Documentation

◆ CscWorldEntity()

CscWorldEntity::CscWorldEntity ( const string &  serialNumber,
const CscEntityModel *  model,
const string &  name,
CscPoint3d *  position,
CscPoint3d *  rotation 
)

◆ ~CscWorldEntity()

virtual CscWorldEntity::~CscWorldEntity ( )
virtualdefault

Member Function Documentation

◆ clone()

CscWorldEntity * CscWorldEntity::clone ( ) const

◆ getBaseRotation()

const CscPoint3d & CscWorldEntity::getBaseRotation ( ) const
overrideprotectedvirtual
Returns
base rotation for this element type. Some element types have a base rotation (for instance places => CscWorldPlace::placeDaeToCscEulerXYZ)

Reimplemented from CscWorldElement.

◆ getModel()

const CscEntityModel * CscWorldEntity::getModel ( ) const

Member Data Documentation

◆ entityDaeToCscEulerXYZ

const CscPoint3d* const CscWorldEntity::entityDaeToCscEulerXYZ = new CscPoint3d(0.0, 0.0, -M_PI_2)
inlinestatic

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