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 CscPoint3d * getSpeed () 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 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 ()
 
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 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 CscPoint3d & getBaseRotation () 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: