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

#include <CscWorldObject.h>

Inheritance diagram for CscWorldObject:
CscWorldElement

Public Member Functions

int getModelId () const
 
const CscPoint3dgetSpeed () const
 
void setSpeed (float x, float y, float z)
 
 CscWorldObject (int modelId, string name, CscPoint3d *positionIn, CscPoint3d *rotationIn, 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)
 
CscSize3d getDimensions () const override
 
- 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 CscPoint3dgetPosition () const
 
void setPosition (float x, float y, float z)
 
const CscPoint3dgetRotationEulerAsPoint () 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 ()
 
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 CscLocationTaggetLocationTagByName (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 Member Functions

static bool isFirearm (const int &objectModelId)
 
static bool isKnife (const int &objectModelId)
 
static bool isMotorizedVehicle (const int &objectModelId)
 
static bool isUnmotorizedVehicle (const int &objectModelId)
 
- Static Public Member Functions inherited from CscWorldElement
static CscWorldElementId nextId ()
 

Public Attributes

CscWorldObjectFlag flag = CscWorldObjectFlag::NoFlag
 
CscMotionType motion = MotionTypeNormal
 
- 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
 

Additional Inherited Members

- Protected Member Functions inherited from CscWorldElement
virtual const CscPoint3dgetBaseRotation () const
 
- Protected Attributes inherited from CscWorldElement
const CscWorldElementId id
 
vector< const CscLocationTag * > * locationTags
 

Constructor & Destructor Documentation

◆ CscWorldObject()

CscWorldObject::CscWorldObject ( int  modelId,
string  name,
CscPoint3d positionIn,
CscPoint3d rotationIn,
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 
)

Member Function Documentation

◆ getDimensions()

CscSize3d CscWorldObject::getDimensions ( ) const
overridevirtual

Return this element's size in Conscience reference frame. This is the safe way to get element's initial dimensions. Before applying any rotation.

For instance for places: CSC depth => place.width => CSC X axis - size.x CSC width => place.height => CSC Z axis - size.z CSC height => place.depth => CSC Y axis - size.y

Reimplemented from CscWorldElement.

◆ getModelId()

int CscWorldObject::getModelId ( ) const
inline

◆ getSpeed()

const CscPoint3d * CscWorldObject::getSpeed ( ) const

◆ isFirearm()

static bool CscWorldObject::isFirearm ( const int &  objectModelId)
inlinestatic
Deprecated:
use CscObjectModel::MODEL_ID_* constants

◆ isKnife()

static bool CscWorldObject::isKnife ( const int &  objectModelId)
inlinestatic
Deprecated:
use CscObjectModel::MODEL_ID_* constants

◆ isMotorizedVehicle()

static bool CscWorldObject::isMotorizedVehicle ( const int &  objectModelId)
inlinestatic
Deprecated:
use CscObjectModel::MODEL_ID_* constants

◆ isUnmotorizedVehicle()

static bool CscWorldObject::isUnmotorizedVehicle ( const int &  objectModelId)
inlinestatic
Deprecated:
use CscObjectModel::MODEL_ID_* constants

◆ setSpeed()

void CscWorldObject::setSpeed ( float  x,
float  y,
float  z 
)

Member Data Documentation

◆ flag

◆ motion

CscMotionType CscWorldObject::motion = MotionTypeNormal

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