Tinman  1.0
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Scene Class Reference

#include <scene.h>

Public Types

typedef std::shared_ptr< Sceneshared
 

Public Member Functions

 Scene ()
 
void render_one_frame (void)
 
Ogre::Ray set_ray_query (float x, float y)
 
void create_light (void)
 
void set_light_range (Ogre::Light *light, Ogre::Real range)
 
void create_camera (Ogre::RenderWindow *window)
 
Ogre::SceneNode * get_node (std::string node)
 
void attach (Ogre::SceneNode *node, Ogre::Entity *entity)
 
Ogre::SceneNode * create_graphic_element (Ogre::Vector3 position, std::string name, std::string mesh)
 
Ogre::SceneNode * create_graphic_element (std::string entity, std::string mesh, std::string parent, std::string name)
 
Ogre::SceneNode * create_graphic_element (Ogre::Entity *entity, std::string parent, std::string name)
 
Ogre::SceneNode * create_plane (std::string axis, std::string name, std::string mesh, std::string parent, std::string material)
 
Ogre::SceneNode * get_child_node (std::string parent, std::string name)
 
Ogre::SceneNode * get_child_node (Ogre::SceneNode *parent, std::string name)
 
Ogre::Entity * create_entity (std::string name, std::string mesh, bool cast_shadows)
 
void move_node (std::string node_name, Ogre::Vector3 increment)
 
Ogre::ParticleSystem * get_particle (std::string name, std::string particle_system)
 
Ogre::ParticleSystem * get_particle (Ogre::SceneNode *node, std::string name, std::string particle_system)
 
Ogre::ParticleSystem * get_particle (std::string name, std::string particle_system, Ogre::Vector3 position)
 
void add_child (Ogre::SceneNode *parent, Ogre::SceneNode *child)
 
void destroy_node (std::string)
 
void destroy_node (Ogre::SceneNode *child)
 
void destroy_entity (Ogre::Entity *entity)
 
void remove_child (std::string parent, std::string child)
 
void remove_child (std::string parent, Ogre::SceneNode *child)
 
void remove_child (Ogre::SceneNode *parent, std::string child)
 
void remove_child (Ogre::SceneNode *parent, Ogre::SceneNode *child)
 
void destroy_scene ()
 
void destroy_all_attached_movable_objects (Ogre::SceneNode *node)
 
Ogre::Vector3 convert_btvector3_to_vector3 (btVector3 position)
 

Public Attributes

Ogre::RenderWindow * window_
 
Ogre::Camera * camera_
 
Ogre::RaySceneQuery * ray_query_
 

Private Member Functions

void load_resources ()
 
Ogre::SceneNode * create_node (std::string name)
 
Ogre::SceneNode * create_child_node (Ogre::SceneNode *parent, std::string name)
 
Ogre::Vector3 get_axis (std::string axis)
 
Ogre::Vector3 get_normal (std::string axis)
 

Private Attributes

const std::string window_title = "Tinman Project"
 
Ogre::Root * root_
 
Ogre::SceneManager * scene_manager_
 

Member Typedef Documentation

typedef std::shared_ptr<Scene> Scene::shared

Constructor & Destructor Documentation

Scene::Scene ( )

Member Function Documentation

void Scene::add_child ( Ogre::SceneNode *  parent,
Ogre::SceneNode *  child 
)
void Scene::attach ( Ogre::SceneNode *  node,
Ogre::Entity *  entity 
)
Ogre::Vector3 Scene::convert_btvector3_to_vector3 ( btVector3  position)
void Scene::create_camera ( Ogre::RenderWindow *  window)
Ogre::SceneNode * Scene::create_child_node ( Ogre::SceneNode *  parent,
std::string  name 
)
private
Ogre::Entity * Scene::create_entity ( std::string  name,
std::string  mesh,
bool  cast_shadows 
)
Ogre::SceneNode * Scene::create_graphic_element ( Ogre::Vector3  position,
std::string  name,
std::string  mesh 
)
Ogre::SceneNode * Scene::create_graphic_element ( std::string  entity,
std::string  mesh,
std::string  parent,
std::string  name 
)
Ogre::SceneNode * Scene::create_graphic_element ( Ogre::Entity *  entity,
std::string  parent,
std::string  name 
)
void Scene::create_light ( void  )
Ogre::SceneNode * Scene::create_node ( std::string  name)
private
Ogre::SceneNode * Scene::create_plane ( std::string  axis,
std::string  name,
std::string  mesh,
std::string  parent,
std::string  material 
)
void Scene::destroy_all_attached_movable_objects ( Ogre::SceneNode *  node)
void Scene::destroy_entity ( Ogre::Entity *  entity)
void Scene::destroy_node ( std::string  name)
void Scene::destroy_node ( Ogre::SceneNode *  child)
void Scene::destroy_scene ( )
Ogre::Vector3 Scene::get_axis ( std::string  axis)
private
Ogre::SceneNode * Scene::get_child_node ( std::string  parent,
std::string  name 
)
Ogre::SceneNode * Scene::get_child_node ( Ogre::SceneNode *  parent,
std::string  name 
)
Ogre::SceneNode * Scene::get_node ( std::string  node)
Ogre::Vector3 Scene::get_normal ( std::string  axis)
private
Ogre::ParticleSystem * Scene::get_particle ( std::string  name,
std::string  particle_system 
)
Ogre::ParticleSystem * Scene::get_particle ( Ogre::SceneNode *  node,
std::string  name,
std::string  particle_system 
)
Ogre::ParticleSystem * Scene::get_particle ( std::string  name,
std::string  particle_system,
Ogre::Vector3  position 
)
void Scene::load_resources ( )
private
void Scene::move_node ( std::string  node_name,
Ogre::Vector3  increment 
)
void Scene::remove_child ( std::string  parent,
std::string  child 
)
void Scene::remove_child ( std::string  parent,
Ogre::SceneNode *  child 
)
void Scene::remove_child ( Ogre::SceneNode *  parent,
std::string  child 
)
void Scene::remove_child ( Ogre::SceneNode *  parent,
Ogre::SceneNode *  child 
)
void Scene::render_one_frame ( void  )
void Scene::set_light_range ( Ogre::Light *  light,
Ogre::Real  range 
)
Ogre::Ray Scene::set_ray_query ( float  x,
float  y 
)

Member Data Documentation

Ogre::Camera* Scene::camera_
Ogre::RaySceneQuery* Scene::ray_query_
Ogre::Root* Scene::root_
private
Ogre::SceneManager* Scene::scene_manager_
private
Ogre::RenderWindow* Scene::window_
const std::string Scene::window_title = "Tinman Project"
private

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