|
Skyscraper 2.0
|
#include <dynamicmesh.h>


Classes | |
| struct | Mesh |
Public Member Functions | |
| DynamicMesh (Object *parent, SceneNode *node, const std::string &name, Real max_render_distance=0, bool dynamic_buffers=false) | |
| ~DynamicMesh () | |
| void | Enabled (bool value, MeshObject *client=0) |
| bool | ChangeTexture (const std::string &old_texture, const std::string &new_texture, MeshObject *client=0) |
| void | EnableDebugView (bool value, MeshObject *client=0) |
| bool | IsVisible (MeshObject *client=0) |
| bool | IsVisible (Ogre::Camera *camera, MeshObject *client=0) |
| bool | IsVisible (Ogre::Camera *camera, int mesh_index) |
| void | Prepare (MeshObject *client=0) |
| bool | LoadFromFile (const std::string &filename, const std::string &path) |
| bool | LoadFromMesh (const std::string &meshname) |
| void | AddClient (MeshObject *mesh) |
| void | RemoveClient (MeshObject *mesh) |
| MeshObject * | GetClient (int number) |
| int | GetClientIndex (MeshObject *client) |
| int | GetClientCount () |
| void | NeedsUpdate (MeshObject *client=0) |
| int | GetMaterials (std::vector< std::string > &materials, int client=-1) |
| int | GetMaterialCount (int client=-1) |
| unsigned int | GetVertexCount (const std::string &material="", int client=-1) |
| unsigned int | GetTriangleCount (const std::string &material, int &client_count, int client=-1) |
| unsigned int | GetIndexOffset (MeshObject *client) |
| bool | UseDynamicBuffers () |
| void | UpdateVertices (MeshObject *client, const std::string &material="", Polygon *polygon=0, bool single=false) |
| void | DetachClient (MeshObject *client) |
| int | GetMeshCount () |
| int | GetSubMeshCount (int mesh_index) |
| std::string | GetMeshName (int mesh_index) |
| Ogre::AxisAlignedBox | GetBounds (MeshObject *client=0) |
| void | EnableShadows (bool value) |
| void | SetMaterial (const std::string &material) |
Public Member Functions inherited from SBS::ObjectBase | |
| ObjectBase (Object *parent) | |
| virtual | ~ObjectBase () |
| Object * | GetParent () |
| SBS * | GetRoot () |
| void | SetName (const std::string &name) |
| const std::string & | GetName () |
| std::string | GetNameBase () |
| virtual void | Report (const std::string &message) |
| virtual bool | ReportError (const std::string &message) |
Public Attributes | |
| bool | force_combine |
Private Attributes | |
| std::vector< Mesh * > | meshes |
| SceneNode * | node |
| Real | render_distance |
| bool | file_model |
| std::vector< MeshObject * > | clients |
| std::vector< bool > | client_enable |
| bool | prepared |
| bool | dynamic_buffers |
| bool | auto_combine |
Additional Inherited Members | |
Protected Attributes inherited from SBS::ObjectBase | |
| SBS * | sbs |
Definition at line 29 of file dynamicmesh.h.
| SBS::DynamicMesh::DynamicMesh | ( | Object * | parent, |
| SceneNode * | node, | ||
| const std::string & | name, | ||
| Real | max_render_distance = 0, | ||
| bool | dynamic_buffers = false ) |
Definition at line 46 of file dynamicmesh.cpp.
References auto_combine, dynamic_buffers, file_model, force_combine, SBS::SBS::GetConfigBool(), node, prepared, SBS::SBS::RegisterDynamicMesh(), render_distance, SBS::ObjectBase::sbs, and SBS::ObjectBase::SetName().

| SBS::DynamicMesh::~DynamicMesh | ( | ) |
Definition at line 65 of file dynamicmesh.cpp.
References SBS::SBS::FastDelete, meshes, SBS::ObjectBase::sbs, and SBS::SBS::UnregisterDynamicMesh().

| void SBS::DynamicMesh::AddClient | ( | MeshObject * | mesh | ) |
Definition at line 339 of file dynamicmesh.cpp.
References client_enable, and clients.
Referenced by SBS::MeshObject::MeshObject().
| bool SBS::DynamicMesh::ChangeTexture | ( | const std::string & | old_texture, |
| const std::string & | new_texture, | ||
| MeshObject * | client = 0 ) |
Definition at line 156 of file dynamicmesh.cpp.
References GetClientIndex(), meshes, and SBS::MeshObject::size.
Referenced by SBS::Polygon::ChangeTexture(), and SBS::Polygon::ReplaceTexture().

| void SBS::DynamicMesh::DetachClient | ( | MeshObject * | client | ) |
Definition at line 571 of file dynamicmesh.cpp.
References GetClientIndex(), and meshes.
Referenced by SBS::MeshObject::~MeshObject().

| void SBS::DynamicMesh::Enabled | ( | bool | value, |
| MeshObject * | client = 0 ) |
Definition at line 116 of file dynamicmesh.cpp.
References client_enable, Enabled(), GetClientIndex(), meshes, and SBS::MeshObject::size.
Referenced by SBS::FloorManager::EnableAll(), Enabled(), SBS::MeshObject::Enabled(), SBS::ElevatorCar::EnableDoors(), SBS::Shaft::EnableWhole(), SBS::Stairwell::EnableWhole(), and SBS::DynamicMesh::Mesh::Prepare().

| void SBS::DynamicMesh::EnableDebugView | ( | bool | value, |
| MeshObject * | client = 0 ) |
Definition at line 179 of file dynamicmesh.cpp.
References EnableDebugView(), GetClientIndex(), meshes, and SBS::MeshObject::size.
Referenced by EnableDebugView(), and SBS::MeshObject::EnableDebugView().

| void SBS::DynamicMesh::EnableShadows | ( | bool | value | ) |
Definition at line 621 of file dynamicmesh.cpp.
References EnableShadows(), and meshes.
Referenced by EnableShadows(), and SBS::MeshObject::EnableShadows().

| Ogre::AxisAlignedBox SBS::DynamicMesh::GetBounds | ( | MeshObject * | client = 0 | ) |
Definition at line 604 of file dynamicmesh.cpp.
References GetClientIndex(), meshes, and SBS::MeshObject::size.
Referenced by SBS::MeshObject::GetBounds().

| MeshObject * SBS::DynamicMesh::GetClient | ( | int | number | ) |
Definition at line 362 of file dynamicmesh.cpp.
References clients.
|
inline |
Definition at line 50 of file dynamicmesh.h.
| int SBS::DynamicMesh::GetClientIndex | ( | MeshObject * | client | ) |
Definition at line 370 of file dynamicmesh.cpp.
References clients.
Referenced by ChangeTexture(), DetachClient(), Enabled(), EnableDebugView(), GetBounds(), IsVisible(), IsVisible(), NeedsUpdate(), Prepare(), and UpdateVertices().
| unsigned int SBS::DynamicMesh::GetIndexOffset | ( | MeshObject * | client | ) |
Definition at line 534 of file dynamicmesh.cpp.
| int SBS::DynamicMesh::GetMaterialCount | ( | int | client = -1 | ) |
Definition at line 452 of file dynamicmesh.cpp.
References GetMaterials().
Referenced by Prepare().

| int SBS::DynamicMesh::GetMaterials | ( | std::vector< std::string > & | materials, |
| int | client = -1 ) |
Definition at line 404 of file dynamicmesh.cpp.
References clients.
Referenced by GetMaterialCount().
|
inline |
Definition at line 60 of file dynamicmesh.h.
| std::string SBS::DynamicMesh::GetMeshName | ( | int | mesh_index | ) |
Definition at line 593 of file dynamicmesh.cpp.
References meshes.
| int SBS::DynamicMesh::GetSubMeshCount | ( | int | mesh_index | ) |
Definition at line 582 of file dynamicmesh.cpp.
References meshes.
Referenced by SBS::DynamicMesh::Mesh::CreateSubMesh(), and SBS::DynamicMesh::Mesh::IsVisible().
| unsigned int SBS::DynamicMesh::GetTriangleCount | ( | const std::string & | material, |
| int & | client_count, | ||
| int | client = -1 ) |
Definition at line 509 of file dynamicmesh.cpp.
References clients.
| unsigned int SBS::DynamicMesh::GetVertexCount | ( | const std::string & | material = "", |
| int | client = -1 ) |
Definition at line 461 of file dynamicmesh.cpp.
References clients, SBS::Polygon::geometry, and SBS::Polygon::material.
| bool SBS::DynamicMesh::IsVisible | ( | MeshObject * | client = 0 | ) |
Definition at line 195 of file dynamicmesh.cpp.
References GetClientIndex(), meshes, and SBS::MeshObject::size.
Referenced by SBS::Camera::IsDynamicMeshVisible(), IsVisible(), SBS::DynamicMesh::Mesh::IsVisible(), and SBS::MeshObject::IsVisible().

| bool SBS::DynamicMesh::IsVisible | ( | Ogre::Camera * | camera, |
| int | mesh_index ) |
Definition at line 229 of file dynamicmesh.cpp.
References meshes.
| bool SBS::DynamicMesh::IsVisible | ( | Ogre::Camera * | camera, |
| MeshObject * | client = 0 ) |
Definition at line 212 of file dynamicmesh.cpp.
References GetClientIndex(), IsVisible(), meshes, and SBS::MeshObject::size.

| bool SBS::DynamicMesh::LoadFromFile | ( | const std::string & | filename, |
| const std::string & | path ) |
Definition at line 78 of file dynamicmesh.cpp.
References file_model, meshes, SBS::DynamicMesh::Mesh::MeshWrapper, node, and render_distance.
Referenced by SBS::MeshObject::LoadFromFile().
| bool SBS::DynamicMesh::LoadFromMesh | ( | const std::string & | meshname | ) |
Definition at line 97 of file dynamicmesh.cpp.
References file_model, meshes, SBS::DynamicMesh::Mesh::MeshWrapper, node, and render_distance.
Referenced by SBS::MeshObject::LoadFromMesh().
| void SBS::DynamicMesh::NeedsUpdate | ( | MeshObject * | client = 0 | ) |
Definition at line 383 of file dynamicmesh.cpp.
References GetClientIndex(), meshes, Prepare(), prepared, and SBS::MeshObject::size.
Referenced by SBS::MeshObject::Prepare().

| void SBS::DynamicMesh::Prepare | ( | MeshObject * | client = 0 | ) |
Definition at line 240 of file dynamicmesh.cpp.
References auto_combine, clients, dynamic_buffers, file_model, force_combine, GetClientIndex(), GetMaterialCount(), SBS::ObjectBase::GetName(), meshes, node, prepared, render_distance, SBS::ObjectBase::Report(), SBS_PROFILE, SBS::MeshObject::size, and SBS::ToString().
Referenced by NeedsUpdate().

| void SBS::DynamicMesh::RemoveClient | ( | MeshObject * | mesh | ) |
Definition at line 347 of file dynamicmesh.cpp.
References client_enable, and clients.
Referenced by SBS::MeshObject::~MeshObject().
| void SBS::DynamicMesh::SetMaterial | ( | const std::string & | material | ) |
Definition at line 629 of file dynamicmesh.cpp.
References meshes, and SetMaterial().
Referenced by SetMaterial(), and SBS::MeshObject::SetMaterial().

| void SBS::DynamicMesh::UpdateVertices | ( | MeshObject * | client, |
| const std::string & | material = "", | ||
| Polygon * | polygon = 0, | ||
| bool | single = false ) |
Definition at line 558 of file dynamicmesh.cpp.
References GetClientIndex(), and meshes.
Referenced by SBS::Polygon::ChangeHeight(), SBS::Polygon::Move(), SBS::MeshObject::OnMove(), and SBS::MeshObject::OnRotate().

|
inline |
Definition at line 57 of file dynamicmesh.h.
Referenced by SBS::MeshObject::UsingDynamicBuffers().
|
private |
Definition at line 129 of file dynamicmesh.h.
Referenced by DynamicMesh(), and Prepare().
|
private |
Definition at line 126 of file dynamicmesh.h.
Referenced by AddClient(), Enabled(), and RemoveClient().
|
private |
Definition at line 125 of file dynamicmesh.h.
Referenced by AddClient(), GetClient(), GetClientIndex(), GetIndexOffset(), GetMaterials(), GetTriangleCount(), GetVertexCount(), Prepare(), and RemoveClient().
|
private |
Definition at line 128 of file dynamicmesh.h.
Referenced by DynamicMesh(), and Prepare().
|
private |
Definition at line 124 of file dynamicmesh.h.
Referenced by DynamicMesh(), LoadFromFile(), LoadFromMesh(), and Prepare().
| bool SBS::DynamicMesh::force_combine |
Definition at line 33 of file dynamicmesh.h.
Referenced by SBS::DoorManager::DoorManager(), DynamicMesh(), SBS::Elevator::Elevator(), Prepare(), SBS::RevolvingDoorManager::RevolvingDoorManager(), SBS::Shaft::SetShowFull(), and SBS::Stairwell::SetShowFull().
|
private |
Definition at line 121 of file dynamicmesh.h.
Referenced by ChangeTexture(), DetachClient(), Enabled(), EnableDebugView(), EnableShadows(), GetBounds(), GetIndexOffset(), GetMeshName(), GetSubMeshCount(), IsVisible(), IsVisible(), IsVisible(), LoadFromFile(), LoadFromMesh(), NeedsUpdate(), Prepare(), SetMaterial(), UpdateVertices(), and ~DynamicMesh().
|
private |
Definition at line 122 of file dynamicmesh.h.
Referenced by SBS::DynamicMesh::Mesh::CreateSubMesh(), SBS::DynamicMesh::Mesh::Detach(), DynamicMesh(), SBS::DynamicMesh::Mesh::Enabled(), SBS::DynamicMesh::Mesh::IsVisible(), LoadFromFile(), LoadFromMesh(), SBS::DynamicMesh::Mesh::Prepare(), Prepare(), and SBS::DynamicMesh::Mesh::UpdateVertices().
|
private |
Definition at line 127 of file dynamicmesh.h.
Referenced by DynamicMesh(), NeedsUpdate(), SBS::DynamicMesh::Mesh::Prepare(), Prepare(), and SBS::DynamicMesh::Mesh::UpdateVertices().
|
private |
Definition at line 123 of file dynamicmesh.h.
Referenced by DynamicMesh(), LoadFromFile(), LoadFromMesh(), and Prepare().