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) |
![]() | |
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 | |
![]() | |
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().