Neo
0.5.0
Developer Documentation
|
Represents a 3D mesh in the scene. More...
#include <OEntity.h>
Public Member Functions | |
OEntity (MeshRef *meshRef) | |
~OEntity (void) | |
OEntity (const OEntity &entity) | |
Material * | getMaterial (size_t idx=0) |
Retrieves the material with the given index. More... | |
size_t | getMaterialsNumber () |
Returns the number of materials attached to this entity. More... | |
bool | hasWireframe () |
Checks if the entity has the wireframe mode enabled. More... | |
void | enableWireframe (bool v) |
Enables/Disable the wireframe of the entity. More... | |
bool | hasTransparency () |
Checks if the entity has any transparent material. More... | |
PhysicsProperties * | enablePhysics (Scene *scene) |
Sets up the OEntity to become a physical active object in the given scene. More... | |
PhysicsProperties * | enablePhysics () |
Sets up the OEntity to become a physical active object in the current scene. More... | |
bool | isColliding (OEntity *entity) |
Checks if the object is colliding with the other object. More... | |
bool | isColliding () |
Checks if the object has any collision with any other object. More... | |
void | enableOccluder (bool value) |
Sets if this object is a occluder or not. More... | |
bool | isOccluder () |
Checks if the OEntity is an occluder. More... | |
virtual int | getType (void) |
Returns the type of the object. More... | |
virtual void | setActive (bool active) |
Changes if the object is being active or inactive. More... | |
void | setInvisible (bool invisible) |
Changes if the OEntity is invisible or not. More... | |
bool | isInvisible (void) |
Checks if the OEntity is invisible. More... | |
Mesh * | getMesh (void) |
Returns the Mesh of the OEntity. More... | |
void | setMeshRef (MeshRef *meshRef) |
Sets the MeshRef of the OEntity. More... | |
MeshRef * | getMeshRef (void) |
Returns the MeshRef of the OEntity. More... | |
void | changeAnimation (unsigned int animationId) |
Changes the currently running animation to the one with the given ID. More... | |
bool | isAnimationOver (void) |
Checks if the currently running animation has finished. More... | |
void | setAnimationSpeed (float animationSpeed) |
Changes the animation speed. More... | |
void | setCurrentFrame (float currentFrame) |
Changes the current frame in the current animation. More... | |
unsigned int | getAnimationId (void) |
Returns the animation ID of the currently running animation. More... | |
float | getAnimationSpeed (void) |
Returns the animation speed of the currently running animation. More... | |
float | getCurrentFrame (void) |
Returns the animation current frame in the currently running animation. More... | |
void | deletePhysicsProperties (void) |
Disables physics and deletes the physics properties. More... | |
PhysicsProperties * | createPhysicsProperties (void) |
Enables physics and creates a new PhysicsProperties object. More... | |
PhysicsProperties * | getPhysicsProperties (void) |
Returns the physics properties object. More... | |
Box3d * | getBoundingBox (void) |
Returns the bounding box. More... | |
bool | hasShadow () |
Checks if the OEntity has a shadow. More... | |
void | enableShadow (bool shadow) |
Enables or disables shadows for the OEntity. More... | |
virtual void | update (void) |
Updates the object. More... | |
virtual void | updateVisibility (OCamera *camera) |
Recalculates visibility for the given camera. More... | |
Public Member Functions inherited from Neo::Object3d | |
Object3d (void) | |
virtual | ~Object3d (void) |
Object3d (const Object3d &object) | |
AdditionalData * | getAdditionalData () |
void | setAdditionalData (AdditionalData *d) |
void | updateMatrix (void) |
Recalculates the internal matrix relative to the parent object. More... | |
void | computeLocalMatrix (void) |
Calculates the local matrix without respecting the parent. More... | |
Matrix4x4 * | getMatrix (void) |
Returns the current matrix. More... | |
void | unlinkChildren (void) |
Unlinks all children from this object and sets their parent to NULL. More... | |
void | computeChildrenMatrices (void) |
Calculates the matrix of every child object. More... | |
void | setAttribute (const char *name, NeoVariable variable) |
Sets the value of the attribute with the given name. More... | |
NeoVariable | getAttribute (const char *name) |
Returns the value of the attribute variable with the given name. More... | |
Vector3 | getUniformRotatedVector (const Vector3 &vector) |
Rotates the given vector while preserving its length and returns the result. More... | |
Vector3 | getInverseRotatedVector (const Vector3 &vector) const |
Calculates the inverse rotated vector. More... | |
Vector3 | getRotatedVector (const Vector3 &vector) const |
Rotates the given vector and returns the result. More... | |
Vector3 | getInversePosition (const Vector3 &position) const |
Multiplies the inverse matrix with the given vector and return the result. More... | |
Vector3 | getTransformedVector (const Vector3 &vector) const |
Transforms the given vector using the internal matrix. More... | |
void | setPosition (const Vector3 &position) |
Changes the position. More... | |
void | translate (const Vector3 &vec, bool local=false) |
Translates the object. More... | |
void | rotate (const Vector3 &axis, float angle, bool local=false) |
Rotates the object. More... | |
Vector3 | getTransformedPosition (void) const |
Returns the transformed position directly from the internal matrix. More... | |
Vector3 | getPosition (void) const |
Returns the position as a Vector3. More... | |
void | setEulerRotation (const Vector3 &euler) |
Changes the Euler rotation. More... | |
void | setAxisAngleRotation (const Vector3 &axis, float angle) |
Changes the angle of the specified axis. More... | |
void | addAxisAngleRotation (const Vector3 &axis, float angle) |
Changes the angle of the specified axis by adding the given value. More... | |
void | setRotation (const Quaternion &rotation) |
Sets the rotation or the object. More... | |
Vector3 | getTransformedRotation (void) const |
Returns the transformed rotation. More... | |
Vector3 | getEulerRotation (void) const |
Returns the Euler rotation in a Vector3 in degrees. More... | |
Quaternion | getRotation (void) const |
Returns the rotation of the object. More... | |
void | setScale (const Vector3 &scale) |
Changes the scale of the object. More... | |
Vector3 | getTransformedScale (void) const |
Returns the transformed scale of the object. More... | |
Vector3 | getScale (void) const |
Returns the scale of the object. More... | |
void | linkTo (Object3d *parent) |
Links the object to another object. More... | |
void | unLink (void) |
Removing the link to the parent object. More... | |
void | setParent (Object3d *object) |
Sets the parent object. More... | |
void | addChild (Object3d *child) |
Adds an Object3d to the list of children. More... | |
bool | hasParent (void) |
Checks if the object has a parent. More... | |
unsigned int | getChildrenNumber (void) |
Returns the number of children. More... | |
Object3d * | getParent (void) |
Returns the parent object. More... | |
Object3d * | getChild (unsigned int id) |
Returns the child with the given ID. More... | |
unsigned long | getId () |
Returns the ID of the object. More... | |
void | setId (unsigned long id) |
Changes the ID of the object. More... | |
void | updateBehaviors (void) |
Updates all behaviors. More... | |
void | drawBehaviors (void) |
Draws all behaviors. More... | |
void | deleteBehavior (unsigned int id) |
Deletes the Behavior with the given ID. More... | |
void | invertBehavior (unsigned int idA, unsigned int idB) |
Switches the IDs of the given behavior IDs. More... | |
void | changeBehavior (unsigned int id, Behavior *behavior) |
Replaces the behavior with the given ID with the given Behavior. More... | |
void | addBehavior (Behavior *behavior) |
Adds a new behavior to the list of behaviors. More... | |
unsigned int | getBehaviorsNumber (void) |
Returns the number of registered Behaviors. More... | |
Behavior * | getBehavior (unsigned int id) |
Returns the Behavior with the given ID. More... | |
bool | needToUpdate (void) |
Checks if the object needs to be updated. More... | |
bool | isActive (void) |
Checks if the object is active. More... | |
void | setVisible (bool visible) |
Changes if the object is visible or not. More... | |
bool | isVisible (void) |
Checks if the object is visible. More... | |
void | setName (const char *name) |
Change the object name. More... | |
const char * | getName (void) |
Returns the object name. More... | |
Additional Inherited Members | |
Protected Types inherited from Neo::Object3d | |
typedef unordered_map< string, NeoVariable >::iterator | AttributeIterator |
typedef map< string, NeoVariable >::iterator | AttributeIterator |
Protected Member Functions inherited from Neo::Object3d | |
void | clearObject3d (void) |
Protected Attributes inherited from Neo::Object3d | |
String | m_name |
The name of the object. More... | |
Vector3 | m_position |
The positopm. More... | |
Vector3 | m_scale |
The scale. More... | |
Quaternion | m_rotation |
The rotation. More... | |
Matrix4x4 | m_matrix |
The matrix. More... | |
vector< Object3d * > | m_children |
List of children. More... | |
unordered_map< string, NeoVariable > | m_attributes |
map< string, NeoVariable > | m_attributes |
bool | m_isActive |
bool | m_isVisible |
bool | m_needToUpdate |
unsigned long | m_id |
Object3d * | m_parent |
vector< Behavior * > | m_behaviors |
List of behaviors. More... | |
Represents a 3D mesh in the scene.
How to create a new OEntity
Neo::OEntity::OEntity | ( | MeshRef * | meshRef | ) |
Neo::OEntity::~OEntity | ( | void | ) |
Neo::OEntity::OEntity | ( | const OEntity & | entity | ) |
void Neo::OEntity::changeAnimation | ( | unsigned int | animationId | ) |
Changes the currently running animation to the one with the given ID.
animationId | The animation ID. |
PhysicsProperties* Neo::OEntity::createPhysicsProperties | ( | void | ) |
Enables physics and creates a new PhysicsProperties object.
void Neo::OEntity::deletePhysicsProperties | ( | void | ) |
Disables physics and deletes the physics properties.
|
inline |
Sets if this object is a occluder or not.
An occluder is used by the renderer to do occlusion culling.
value | A boolean value. |
PhysicsProperties* Neo::OEntity::enablePhysics | ( | Scene * | scene | ) |
Sets up the OEntity to become a physical active object in the given scene.
scene | The scene the object operates in. |
PhysicsProperties* Neo::OEntity::enablePhysics | ( | ) |
Sets up the OEntity to become a physical active object in the current scene.
|
inline |
Enables or disables shadows for the OEntity.
shadow | The enable value. |
|
inline |
Enables/Disable the wireframe of the entity.
v | A boolean value. |
|
inline |
Returns the animation ID of the currently running animation.
|
inline |
Returns the animation speed of the currently running animation.
|
inline |
|
inline |
Returns the animation current frame in the currently running animation.
|
inline |
Retrieves the material with the given index.
idx | The index to retrieve from. |
|
inline |
Returns the number of materials attached to this entity.
|
inline |
|
inline |
Returns the physics properties object.
|
inlinevirtual |
|
inline |
Checks if the OEntity has a shadow.
|
inline |
Checks if the entity has any transparent material.
|
inline |
Checks if the entity has the wireframe mode enabled.
bool Neo::OEntity::isAnimationOver | ( | void | ) |
Checks if the currently running animation has finished.
bool Neo::OEntity::isColliding | ( | OEntity * | entity | ) |
Checks if the object is colliding with the other object.
entity | The other object. |
bool Neo::OEntity::isColliding | ( | ) |
Checks if the object has any collision with any other object.
|
inline |
Checks if the OEntity is invisible.
|
inline |
Checks if the OEntity is an occluder.
|
virtual |
Changes if the object is being active or inactive.
active | The new activity value. |
Reimplemented from Neo::Object3d.
|
inline |
Changes the animation speed.
animationSpeed | The new animation speed. |
|
inline |
Changes the current frame in the current animation.
currentFrame | The new frame to display. |
|
inline |
Changes if the OEntity is invisible or not.
This value is not used for culling.
invisible | A boolean value. |
void Neo::OEntity::setMeshRef | ( | MeshRef * | meshRef | ) |
|
virtual |
Updates the object.
Reimplemented from Neo::Object3d.
|
virtual |
Recalculates visibility for the given camera.
Used for culling.
camera | The camera to check visibility for. |
Reimplemented from Neo::Object3d.