Skyscraper 2.0
|
#include <utility.h>
Public Member Functions | |
Utility (Object *parent) | |
~Utility () | |
Vector2 | GetExtents (PolyArray &varray, int coord, bool flip_z=false) |
void | Cut (Wall *wall, Vector3 start, Vector3 end, bool cutwalls, bool cutfloors, int checkwallnumber=0, bool reset_check=true) |
void | GetDoorwayExtents (MeshObject *mesh, int checknumber, PolyArray &polygon) |
Vector3 | GetPolygonDirection (PolyArray &polygon) |
Vector2 | GetEndPoint (const Vector2 &StartPoint, Real angle, Real distance) |
Plane | ComputePlane (PolyArray &vertices, bool flip_normal=true) |
void | SplitWithPlane (int axis, PolyArray &orig, PolyArray &poly1, PolyArray &poly2, Real value) |
Vector3 | ComputeNormal (PolyArray &vertices, Real &D) |
void | ResetDoorwayWalls () |
Wall * | AddDoorwayWalls (MeshObject *mesh, const std::string &wallname, const std::string &texture, Real tw, Real th) |
![]() | |
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) |
Private Attributes | |
PolyArray | temppoly |
PolyArray | temppoly2 |
PolyArray | temppoly3 |
PolyArray | temppoly4 |
PolyArray | temppoly5 |
PolyArray | worker |
PolygonSet | newpolys |
PolyArray | newpoly |
bool | wall1a |
bool | wall1b |
bool | wall2a |
bool | wall2b |
Vector2 | wall_extents_x |
Vector2 | wall_extents_z |
Vector2 | wall_extents_y |
Additional Inherited Members | |
![]() | |
SBS * | sbs |
SBS::Utility::Utility | ( | Object * | parent | ) |
Definition at line 32 of file utility.cpp.
References ResetDoorwayWalls(), temppoly, temppoly2, temppoly3, temppoly4, temppoly5, and worker.
SBS::Utility::~Utility | ( | ) |
Definition at line 44 of file utility.cpp.
Wall * SBS::Utility::AddDoorwayWalls | ( | MeshObject * | mesh, |
const std::string & | wallname, | ||
const std::string & | texture, | ||
Real | tw, | ||
Real | th ) |
Definition at line 529 of file utility.cpp.
References SBS::SBS::AddFloorMain(), SBS::SBS::AddWallMain(), SBS::MeshObject::CreateWallObject(), SBS::SBS::DrawWalls(), SBS::Wall::GetMesh(), SBS::Object::GetPosition(), ResetDoorwayWalls(), SBS::SBS::ResetWalls(), SBS::ObjectBase::sbs, wall1a, wall2a, wall_extents_x, wall_extents_y, and wall_extents_z.
Referenced by SBS::Shaft::Level::AddDoor(), SBS::Stairwell::Level::AddDoor(), and SBS::ElevatorDoor::FinishDoors().
Definition at line 504 of file utility.cpp.
References ComputeNormal().
Referenced by SBS::Wall::AddPolygon(), SBS::Wall::AddPolygonSet(), SBS::PolyMesh::CreateMesh(), GetPolygonDirection(), and SBS::TextureManager::GetTextureMapping().
void SBS::Utility::Cut | ( | Wall * | wall, |
Vector3 | start, | ||
Vector3 | end, | ||
bool | cutwalls, | ||
bool | cutfloors, | ||
int | checkwallnumber = 0, | ||
bool | reset_check = true ) |
Definition at line 96 of file utility.cpp.
References SBS::Wall::AddPolygonSet(), SBS::Wall::DeletePolygon(), SBS::Polygon::geometry, GetDoorwayExtents(), GetExtents(), SBS::Wall::GetMesh(), SBS::ObjectBase::GetName(), SBS::Wall::GetPolygon(), SBS::Wall::GetPolygonCount(), SBS::Polygon::GetTextureMapping(), SBS::Polygon::material, newpolys, SBS::ObjectBase::sbs, SplitWithPlane(), temppoly, temppoly2, temppoly3, temppoly4, temppoly5, SBS::SBS::ToLocal(), wall1a, wall1b, wall2a, wall2b, and worker.
Referenced by SBS::Floor::Cut(), SBS::MeshObject::Cut(), SBS::Shaft::Level::Cut(), SBS::Stairwell::Level::Cut(), SBS::Floor::CutAll(), SBS::Shaft::CutFloors(), and SBS::Stairwell::CutFloors().
void SBS::Utility::GetDoorwayExtents | ( | MeshObject * | mesh, |
int | checknumber, | ||
PolyArray & | polygon ) |
Definition at line 400 of file utility.cpp.
References GetExtents(), SBS::Object::GetPosition(), wall1a, wall1b, wall2a, wall2b, wall_extents_x, wall_extents_y, and wall_extents_z.
Referenced by Cut().
Definition at line 490 of file utility.cpp.
References SBS::DegreesToRadians().
Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().
Definition at line 49 of file utility.cpp.
Referenced by Cut(), GetDoorwayExtents(), SBS::Polygon::GetExtents(), SBS::TextureManager::GetTextureMapping(), and SBS::Wall::GetWallExtents().
Definition at line 443 of file utility.cpp.
References ComputePlane(), newpoly, SBS::ObjectBase::sbs, and SBS::SBS::ToRemote().
void SBS::Utility::ResetDoorwayWalls | ( | ) |
Definition at line 518 of file utility.cpp.
References wall1a, wall1b, wall2a, wall2b, wall_extents_x, wall_extents_y, and wall_extents_z.
Referenced by SBS::Shaft::Level::AddDoor(), SBS::Stairwell::Level::AddDoor(), AddDoorwayWalls(), SBS::ElevatorDoor::FinishDoors(), and Utility().
void SBS::Utility::SplitWithPlane | ( | int | axis, |
PolyArray & | orig, | ||
PolyArray & | poly1, | ||
PolyArray & | poly2, | ||
Real | value ) |
Definition at line 240 of file texmap.cpp.
References SMALL_EPSILON.
Referenced by Cut(), and SBS::Wall::GetWallExtents().
|
private |
Definition at line 48 of file utility.h.
Referenced by GetPolygonDirection().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 51 of file utility.h.
Referenced by AddDoorwayWalls(), Cut(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |
Definition at line 51 of file utility.h.
Referenced by Cut(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |
Definition at line 51 of file utility.h.
Referenced by AddDoorwayWalls(), Cut(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |
Definition at line 51 of file utility.h.
Referenced by Cut(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |
Definition at line 52 of file utility.h.
Referenced by AddDoorwayWalls(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |
Definition at line 52 of file utility.h.
Referenced by AddDoorwayWalls(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |
Definition at line 52 of file utility.h.
Referenced by AddDoorwayWalls(), GetDoorwayExtents(), and ResetDoorwayWalls().
|
private |