| 
    Neo
    0.5.0
    
   Developer Documentation 
   | 
 
Represents a 3D mesh in the scene. More...
#include <OEntity.h>
 Inheritance diagram for Neo::OEntity: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.