| 
    Neo
    0.5.0
    
   Developer Documentation 
   | 
 
The Scene class represents a scene in a Maratis level. More...
#include <Scene.h>
Classes | |
| class | AdditionalData | 
Public Member Functions | |
| Scene (void) | |
| ~Scene (void) | |
| AdditionalData * | getAdditionalData () | 
| void | setAdditionalData (AdditionalData *d) | 
| void | setName (const char *name) | 
| Sets the scene name.  More... | |
| const char * | getName (void) | 
| Returns the name of the scene.  More... | |
| Vector3 | getAmbientLight () | 
| void | setAmbientLight (Vector3 light) | 
| void | setDataMode (M_DATA_MODES dataMode) | 
| M_DATA_MODES | getDataMode (void) | 
| void | setScriptFilename (const char *scriptFilename) | 
| Sets the scenes script that will be executed.  More... | |
| const char * | getScriptFilename (void) | 
| Returns the filename of the script that is currently attached to this scene.  More... | |
| void | setGravity (const Vector3 &gravity) | 
| Sets the gravitational pull in this scene to the given value.  More... | |
| Vector3 | getGravity (void) const | 
| Returns the current gravity in a MVector3.  More... | |
| void | playLoopSounds (void) | 
| void | stopAllSounds (void) | 
| void | deleteObject (Object3d *object) | 
| Removes the given object from this scene and deletes its memory.  More... | |
| OCamera * | addNewCamera (void) | 
| Creates a new camera, adds it to the scene and returns it.  More... | |
| OCamera * | addNewCamera (const OCamera &camera) | 
| Copies the camera and adds the new instance to the scene.  More... | |
| OLight * | addNewLight (void) | 
| Creates a new light source and adds it to the scene.  More... | |
| Object3d * | addNewGroup (void) | 
| Object3d * | addNewGroup (const Object3d &object) | 
| OLight * | addNewLight (const OLight &light) | 
| Copies the light and adds the new instance to the scene.  More... | |
| OEntity * | addNewEntity (MeshRef *meshRef) | 
| OEntity * | addNewEntity (const OEntity &entity) | 
| OSound * | addNewSound (SoundRef *soundRef) | 
| OSound * | addNewSound (const OSound &sound) | 
| OText * | addNewText (FontRef *fontRef) | 
| OText * | addNewText (const OText &text) | 
| unsigned int | getObjectsNumber (void) | 
| Returns the number of objects in the scene.  More... | |
| unsigned int | getCamerasNumber (void) | 
| Returns the number of cameras in the scene.  More... | |
| unsigned int | getLightsNumber (void) | 
| Returns the number of lights in the scene.  More... | |
| unsigned int | getEntitiesNumber (void) | 
| Returns the number of entities in the scene.  More... | |
| unsigned int | getSoundsNumber (void) | 
| Returns the number of sounds in the scene.  More... | |
| unsigned int | getTextsNumber (void) | 
| Returns the number of text objects in the scene.  More... | |
| void | setCurrentCameraId (unsigned int id) | 
| unsigned int | getCurrentCameraId (void) | 
| void | setCurrentCamera (OCamera *c) | 
| OCamera * | getCurrentCamera (void) | 
| Returns the currently active camera from this scene.  More... | |
| void | setCurrentFrame (int currentFrame) | 
| int | getCurrentFrame (void) | 
| Object3d * | getObjectByName (const char *name) | 
| Returns the object with the given name or NULL if it is not found.  More... | |
| Object3d * | getObjectByHandle (unsigned long handle) | 
| Returns the object with the given ID or NULL if it is not found.  More... | |
| OLight * | getLightByName (const char *name) | 
| Returns the light with the given name or NULL if it is not found.  More... | |
| OCamera * | getCameraByName (const char *name) | 
| Returns the camera with the given name or NULL if it is not found.  More... | |
| OEntity * | getEntityByName (const char *name) | 
| Returns the entity with the given name or NULL if it is not found.  More... | |
| OSound * | getSoundByName (const char *name) | 
| Returns the sound with the given name or NULL if it is not found.  More... | |
| OText * | getTextByName (const char *name) | 
| Returns the text object with the given name or NULL if it is not found.  More... | |
| bool | getObjectIndex (const char *name, unsigned int *id) | 
| Searches the object with the given name and copies the ID.  More... | |
| Object3d * | getObjectByIndex (unsigned int index) | 
| OLight * | getLightByIndex (unsigned int index) | 
| OCamera * | getCameraByIndex (unsigned int index) | 
| OEntity * | getEntityByIndex (unsigned int index) | 
| OSound * | getSoundByIndex (unsigned int index) | 
| OText * | getTextByIndex (unsigned int index) | 
| void | begin (void) | 
| void | end (void) | 
| void | prepareCollisionShape (OEntity *entity) | 
| void | prepareCollisionObject (OEntity *entity) | 
| void | prepareConstraints (OEntity *entity) | 
| void | preparePhysics (void) | 
| void | updatePhysics (void) | 
| void | update (void) | 
| Updates the scene and all objects in it.  More... | |
| void | updateObjectsBehaviors (void) | 
| Updates all behaviors of objects in this scene.  More... | |
| void | drawObjectsBehaviors (void) | 
| Call draw for all behaviors in this scene.  More... | |
| void | updateObjectsMatrices (void) | 
| void | draw (OCamera *camera) | 
| Renders the scene to the screen.  More... | |
The Scene class represents a scene in a Maratis level.
One level can have multiple independent scenes with objects and scripts. You can use this to overlay a scene over another to create ingame GUI or similar.
| Neo::Scene::Scene | ( | void | ) | 
| Neo::Scene::~Scene | ( | void | ) | 
| OCamera* Neo::Scene::addNewCamera | ( | void | ) | 
Copies the camera and adds the new instance to the scene.
| camera | The camera to copy. | 
| Object3d* Neo::Scene::addNewGroup | ( | void | ) | 
| OLight* Neo::Scene::addNewLight | ( | void | ) | 
Creates a new light source and adds it to the scene.
Copies the light and adds the new instance to the scene.
| light | The light to copy from. | 
| void Neo::Scene::begin | ( | void | ) | 
| void Neo::Scene::deleteObject | ( | Object3d * | object | ) | 
Removes the given object from this scene and deletes its memory.
| object | The object to be removed. | 
Should also remove all children!
| void Neo::Scene::draw | ( | OCamera * | camera | ) | 
Renders the scene to the screen.
This method takes the camera and renders everything from this point of view to the screen/buffer. This is done by using a subclass of RenderingContext to render.
| camera | The camera to use. | 
| void Neo::Scene::drawObjectsBehaviors | ( | void | ) | 
Call draw for all behaviors in this scene.
| void Neo::Scene::end | ( | void | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
| OCamera* Neo::Scene::getCameraByName | ( | const char * | name | ) | 
Returns the camera with the given name or NULL if it is not found.
| name | The cameras name. | 
      
  | 
  inline | 
Returns the number of cameras in the scene.
| OCamera* Neo::Scene::getCurrentCamera | ( | void | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Returns the number of entities in the scene.
      
  | 
  inline | 
| OEntity* Neo::Scene::getEntityByName | ( | const char * | name | ) | 
Returns the entity with the given name or NULL if it is not found.
| name | The entities name. | 
      
  | 
  inline | 
Returns the current gravity in a MVector3.
      
  | 
  inline | 
| OLight* Neo::Scene::getLightByName | ( | const char * | name | ) | 
Returns the light with the given name or NULL if it is not found.
| name | The lights name. | 
      
  | 
  inline | 
Returns the number of lights in the scene.
      
  | 
  inline | 
Returns the name of the scene.
      
  | 
  inline | 
Returns the object with the given ID or NULL if it is not found.
| handle | The object handle. | 
      
  | 
  inline | 
| Object3d* Neo::Scene::getObjectByName | ( | const char * | name | ) | 
Returns the object with the given name or NULL if it is not found.
| name | The objects name. | 
| bool Neo::Scene::getObjectIndex | ( | const char * | name, | 
| unsigned int * | id | ||
| ) | 
Searches the object with the given name and copies the ID.
The ID will be copied to the location where the pointer id points to.
Example:
| name | The name of the object. | 
| id | Pointer to an unsigned int to retrieve the data. | 
      
  | 
  inline | 
Returns the number of objects in the scene.
      
  | 
  inline | 
Returns the filename of the script that is currently attached to this scene.
      
  | 
  inline | 
| OSound* Neo::Scene::getSoundByName | ( | const char * | name | ) | 
Returns the sound with the given name or NULL if it is not found.
| name | The sounds name. | 
      
  | 
  inline | 
Returns the number of sounds in the scene.
      
  | 
  inline | 
| OText* Neo::Scene::getTextByName | ( | const char * | name | ) | 
Returns the text object with the given name or NULL if it is not found.
| name | The objects name. | 
      
  | 
  inline | 
Returns the number of text objects in the scene.
| void Neo::Scene::playLoopSounds | ( | void | ) | 
| void Neo::Scene::prepareCollisionObject | ( | OEntity * | entity | ) | 
| void Neo::Scene::prepareCollisionShape | ( | OEntity * | entity | ) | 
| void Neo::Scene::prepareConstraints | ( | OEntity * | entity | ) | 
| void Neo::Scene::preparePhysics | ( | void | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
| void Neo::Scene::setCurrentCamera | ( | OCamera * | c | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Sets the gravitational pull in this scene to the given value.
This new gravity is stored in a MVector3.
Example:
| gravity | 
| void Neo::Scene::setName | ( | const char * | name | ) | 
Sets the scene name.
The scene name is a property by which you can find a particular scene.
| name | The new name which will be copied to an internal buffer. | 
| void Neo::Scene::setScriptFilename | ( | const char * | scriptFilename | ) | 
Sets the scenes script that will be executed.
Sets the path to a script. Those script can contain game logics.
| scriptFilename | 
| void Neo::Scene::stopAllSounds | ( | void | ) | 
| void Neo::Scene::update | ( | void | ) | 
Updates the scene and all objects in it.
| void Neo::Scene::updateObjectsBehaviors | ( | void | ) | 
Updates all behaviors of objects in this scene.
| void Neo::Scene::updateObjectsMatrices | ( | void | ) | 
| void Neo::Scene::updatePhysics | ( | void | ) |