Skyscraper 2.0
SBS::Floor Class Reference

#include <floor.h>

Inheritance diagram for SBS::Floor:
Collaboration diagram for SBS::Floor:

Public Member Functions

 Floor (Object *parent, FloorManager *manager, int number)
 
 ~Floor ()
 
Wall * AddFloor (const std::string &name, const std::string &texture, Real thickness, Real x1, Real z1, Real x2, Real z2, Real voffset1, Real voffset2, bool reverse_axis, bool texture_direction, Real tw, Real th, bool isexternal, bool legacy_behavior=false)
 
Wall * AddInterfloorFloor (const std::string &name, const std::string &texture, Real thickness, Real x1, Real z1, Real x2, Real z2, Real voffset1, Real voffset2, bool reverse_axis, bool texture_direction, Real tw, Real th, bool legacy_behavior=false)
 
Wall * AddWall (const std::string &name, const std::string &texture, Real thickness, Real x1, Real z1, Real x2, Real z2, Real height_in1, Real height_in2, Real voffset1, Real voffset2, Real tw, Real th, bool isexternal)
 
Wall * AddInterfloorWall (const std::string &name, const std::string &texture, Real thickness, Real x1, Real z1, Real x2, Real z2, Real height_in1, Real height_in2, Real voffset1, Real voffset2, Real tw, Real th)
 
void Enabled (bool value)
 
bool IsEnabled ()
 
Real FullHeight ()
 
CallStation * AddCallButtons (int controller, const std::string &sound_file_up, const std::string &sound_file_down, const std::string &BackTexture, const std::string &UpButtonTexture, const std::string &UpButtonTexture_Lit, const std::string &DownButtonTexture, const std::string &DownButtonTexture_Lit, Real CenterX, Real CenterZ, Real voffset, const std::string &direction, Real BackWidth, Real BackHeight, bool ShowBack, Real tw, Real th)
 
CallStation * AddCallStation (int number)
 
void Cut (const Vector3 &start, const Vector3 &end, bool cutwalls, bool cutfloors, bool fast, int checkwallnumber=0, bool prepare=false)
 
void CutAll (const Vector3 &start, const Vector3 &end, bool cutwalls, bool cutfloors, bool prepare=false)
 
void AddGroupFloor (int number)
 
void RemoveGroupFloor (int number)
 
void EnableGroup (bool value)
 
bool IsInGroup (int floor)
 
Door * AddDoor (std::string name, const std::string &open_sound, const std::string &close_sound, bool open_state, const std::string &texture, const std::string &side_texture, Real thickness, const std::string &face_direction, const std::string &open_direction, bool rotate, Real open_speed, Real close_speed, Real CenterX, Real CenterZ, Real width, Real height, Real voffset, Real tw, Real th, Real side_tw, Real side_th, bool external=false)
 
Door * CreateDoor (std::string name, const std::string &open_sound, const std::string &close_sound, bool rotate)
 
Door * GetDoor (const std::string &name)
 
bool CalculateAltitude ()
 
void EnableColumnFrame (bool value)
 
void EnableInterfloor (bool value)
 
Wall * ColumnWallBox (const std::string &name, const std::string &texture, Real x1, Real x2, Real z1, Real z2, Real height_in, Real voffset, Real tw, Real th, bool inside, bool outside, bool top, bool bottom)
 
Wall * ColumnWallBox2 (const std::string &name, const std::string &texture, Real CenterX, Real CenterZ, Real WidthX, Real LengthZ, Real height_in, Real voffset, Real tw, Real th, bool inside, bool outside, bool top, bool bottom)
 
FloorIndicator * AddFloorIndicator (int elevator, int car, bool relative, const std::string &texture_prefix, const std::string &blank_texture, const std::string &direction, Real CenterX, Real CenterZ, Real width, Real height, Real voffset)
 
void UpdateFloorIndicators (int elevator)
 
void UpdateFloorIndicators ()
 
void UpdateDirectionalIndicators (int elevator)
 
void UpdateDirectionalIndicators ()
 
DirectionalIndicator * AddDirectionalIndicator (int elevator, int car, bool relative, bool active_direction, bool single, bool vertical, const std::string &BackTexture, const std::string &uptexture, const std::string &uptexture_lit, const std::string &downtexture, const std::string &downtexture_lit, Real CenterX, Real CenterZ, Real voffset, const std::string &direction, Real BackWidth, Real BackHeight, bool ShowBack, Real tw, Real th)
 
void SetDirectionalIndicators (int elevator, int car, bool UpLight, bool DownLight)
 
void Loop ()
 
std::vector< int > GetCallStations (int elevator)
 
CallStation * GetCallStationForElevator (int elevator)
 
CallStation * GetCallStation (int number)
 
void AddFillerWalls (const std::string &texture, Real thickness, Real CenterX, Real CenterZ, Real width, Real height, Real voffset, bool direction, Real tw, Real th, bool isexternal)
 
Sound * AddSound (const std::string &name, const std::string &filename, Vector3 position, bool loop=true, Real volume=1.0, int speed=100, Real min_distance=1.0, Real max_distance=-1.0, Real doppler_level=0.0, Real cone_inside_angle=360, Real cone_outside_angle=360, Real cone_outside_volume=1.0, Vector3 direction=Vector3(0, 0, 0))
 
Reverb * AddReverb (const std::string &name, const std::string &type, const Vector3 &position, Real min_distance, Real max_distance)
 
void Report (const std::string &message)
 
bool ReportError (const std::string &message)
 
Real GetBase (bool relative=false)
 
Door * GetDoor (int number)
 
void RemoveCallStation (CallStation *station)
 
void RemoveFloorIndicator (FloorIndicator *indicator)
 
void RemoveDirectionalIndicator (DirectionalIndicator *indicator)
 
void RemoveDoor (Door *door)
 
void RemoveSound (Sound *sound)
 
void RemoveReverb (Reverb *reverb)
 
void RemoveLight (Light *light)
 
void RemoveModel (Model *model)
 
void RemovePrimitive (Primitive *prim)
 
void RemoveCustomObject (CustomObject *object)
 
void RemoveControl (Control *control)
 
void RemoveTrigger (Trigger *trigger)
 
void RemoveCameraTexture (CameraTexture *cameratexture)
 
void RemoveEscalator (Escalator *escalator)
 
void RemoveMovingWalkway (MovingWalkway *walkway)
 
Light * AddLight (const std::string &name, int type)
 
Light * GetLight (const std::string &name)
 
Model * AddModel (const std::string &name, const std::string &filename, bool center, Vector3 position, Vector3 rotation, Real max_render_distance=0, Real scale_multiplier=1, bool enable_physics=false, Real restitution=0, Real friction=0, Real mass=0)
 
void AddModel (Model *model)
 
Primitive * AddPrimitive (const std::string &name)
 
void AddPrimitive (Primitive *primitive)
 
CustomObject * AddCustomObject (const std::string &name, const Vector3 &position, const Vector3 &rotation, Real max_render_distance=0, Real scale_multiplier=1)
 
void AddCustomObject (CustomObject *object)
 
void ReplaceTexture (const std::string &oldtexture, const std::string &newtexture)
 
Control * AddControl (const std::string &name, const std::string &sound, const std::string &direction, Real CenterX, Real CenterZ, Real width, Real height, Real voffset, int selection_position, std::vector< std::string > &action_names, std::vector< std::string > &textures)
 
Trigger * AddTrigger (const std::string &name, const std::string &sound_file, Vector3 &area_min, Vector3 &area_max, std::vector< std::string > &action_names)
 
CameraTexture * AddCameraTexture (const std::string &name, int quality, Real fov, const Vector3 &position, bool use_rotation, const Vector3 &rotation)
 
Escalator * AddEscalator (const std::string &name, int run, Real speed, const std::string &sound_file, const std::string &riser_texture, const std::string &tread_texture, const std::string &direction, Real CenterX, Real CenterZ, Real width, Real risersize, Real treadsize, int num_steps, Real voffset, Real tw, Real th)
 
MovingWalkway * AddMovingWalkway (const std::string &name, int run, Real speed, const std::string &sound_file, const std::string &texture, const std::string &direction, Real CenterX, Real CenterZ, Real width, Real treadsize, int num_steps, Real voffset, Real tw, Real th)
 
std::vector< Sound * > GetSound (const std::string &name)
 
Reverb * GetReverb (const std::string &name)
 
void SetAltitude (Real altitude)
 
void ShowInfo (bool detailed=true, bool display_header=true)
 
void GetElevatorList (std::vector< int > &listing, bool get_locals=true, bool get_express=true, bool get_service=true)
 
void GetStairwellList (std::vector< int > &listing)
 
void GetShaftList (std::vector< int > &listing)
 
ElevatorRoute * GetDirectRoute (int DestinationFloor, std::string ElevatorType)
 
std::vector< int > GetDirectFloors (bool include_service)
 
Model * GetModel (std::string name)
 
Primitive * GetPrimitive (std::string name)
 
CustomObject * GetCustomObject (std::string name)
 
RevolvingDoor * AddRevolvingDoor (std::string name, bool run, const std::string &soundfile, const std::string &texture, Real thickness, bool clockwise, int segments, Real speed, Real rotation, Real CenterX, Real CenterZ, Real width, Real height, Real voffset, Real tw, Real th, bool external)
 
void RemoveRevolvingDoor (RevolvingDoor *door)
 
RevolvingDoor * GetRevolvingDoor (int number)
 
CameraTexture * GetCameraTexture (int number)
 
int GetCallStationCount ()
 
int GetReverbCount ()
 
Reverb * GetReverb (int index)
 
- Public Member Functions inherited from SBS::Object
 Object (Object *parent)
 
virtual ~Object ()
 
void SetValues (const std::string &type, const std::string &name, bool is_permanent, bool is_movable=true)
 
bool IsPermanent ()
 
bool IsMovable ()
 
const std::string & GetType ()
 
int GetNumber ()
 
void AddChild (Object *object)
 
Object * GetChild (int index)
 
int GetChildrenCount ()
 
void RemoveChild (Object *object)
 
SceneNode * GetSceneNode ()
 
void ShowBoundingBox (bool value)
 
virtual void Move (const Vector3 &vector, Real speed=1.0, bool force=false)
 
virtual void Move (Real X, Real Y, Real Z, Real speed=1.0, bool force=false)
 
virtual void SetPosition (const Vector3 &position, bool relative=false, bool force=false)
 
virtual void SetPosition (Real X, Real Y, Real Z, bool relative=false, bool force=false)
 
virtual void SetPositionY (Real value, bool force=false)
 
virtual Vector3 GetPosition (bool relative=false)
 
virtual void Rotate (const Vector3 &vector, Real speed=1.0)
 
virtual void Rotate (Real X, Real Y, Real Z, Real speed=1.0)
 
virtual void SetRotation (const Vector3 &rotation)
 
virtual void SetRotation (Real X, Real Y, Real Z)
 
virtual Vector3 GetRotation ()
 
Quaternion GetOrientation (bool relative=false)
 
void SetOrientation (const Quaternion &q, bool relative=false)
 
virtual void OnMove (bool parent)
 
virtual void OnRotate (bool parent)
 
virtual void OnClick (Vector3 &position, bool shift, bool ctrl, bool alt, bool right)
 
virtual void OnUnclick (bool right)
 
virtual void OnHit ()
 
void NotifyMove (bool parent=false)
 
void NotifyRotate (bool parent=false)
 
virtual void ResetState ()
 
void ChangeParent (Object *new_parent)
 
bool IsGlobal ()
 
void Init (bool children=true)
 
virtual void OnInit ()
 
void RegisterLoop (Object *object)
 
void UnregisterLoop (Object *object)
 
std::string GetNameBase ()
 
template<typename T >
bool IsType ()
 
template<typename T >
T * ConvertTo ()
 
- 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 ()
 

Public Attributes

MeshObject * Level
 
MeshObject * Interfloor
 
MeshObject * ColumnFrame
 
int Number
 
std::string Name
 
std::string ID
 
std::string NumberID
 
std::string FloorType
 
std::string Description
 
std::string IndicatorTexture
 
Real Altitude
 
Real Height
 
Real InterfloorHeight
 
bool IsColumnFrameEnabled
 
bool IsInterfloorEnabled
 
std::vector< CallStation * > CallStationArray
 
std::vector< FloorIndicator * > FloorIndicatorArray
 
std::vector< int > Group
 
bool EnabledGroup
 
int EnabledGroup_Floor
 
bool AltitudeSet
 
- Public Attributes inherited from SBS::Object
std::string command
 
std::string command_processed
 
std::string context
 
int linenum
 
std::string includefile
 
bool parent_deleting
 

Private Attributes

bool is_enabled
 
std::vector< Sound * > sounds
 
std::vector< Reverb * > reverbs
 
std::vector< Door * > DoorArray
 
std::vector< RevolvingDoor * > RDoorArray
 
DynamicMesh * DoorWrapper
 
std::vector< Light * > lights
 
std::vector< DirectionalIndicator * > DirIndicatorArray
 
std::vector< Model * > ModelArray
 
std::vector< Primitive * > PrimArray
 
std::vector< CustomObject * > CustomObjectArray
 
std::vector< Control * > ControlArray
 
std::vector< Trigger * > TriggerArray
 
std::vector< CameraTexture * > CameraTextureArray
 
std::vector< Escalator * > EscalatorArray
 
std::vector< MovingWalkway * > MovingWalkwayArray
 
int callstation_index
 

Additional Inherited Members

- Protected Member Functions inherited from SBS::Object
void EnableLoop (bool value)
 
void LoopChildren ()
 
bool SelfDestruct ()
 
- Protected Attributes inherited from SBS::ObjectBase
SBS * sbs
 

Detailed Description

Definition at line 29 of file floor.h.

Constructor & Destructor Documentation

◆ Floor()

◆ ~Floor()

Member Function Documentation

◆ AddCallButtons()

CallStation * SBS::Floor::AddCallButtons ( int controller,
const std::string & sound_file_up,
const std::string & sound_file_down,
const std::string & BackTexture,
const std::string & UpButtonTexture,
const std::string & UpButtonTexture_Lit,
const std::string & DownButtonTexture,
const std::string & DownButtonTexture_Lit,
Real CenterX,
Real CenterZ,
Real voffset,
const std::string & direction,
Real BackWidth,
Real BackHeight,
bool ShowBack,
Real tw,
Real th )

◆ AddCallStation()

CallStation * SBS::Floor::AddCallStation ( int number)

Definition at line 604 of file floor.cpp.

References CallStationArray, and Number.

Referenced by AddCallButtons(), and Skyscraper::ScriptProcessor::CallStationSection::Run().

◆ AddCameraTexture()

CameraTexture * SBS::Floor::AddCameraTexture ( const std::string & name,
int quality,
Real fov,
const Vector3 & position,
bool use_rotation,
const Vector3 & rotation )

Definition at line 1630 of file floor.cpp.

References CameraTextureArray, and GetBase().

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ AddControl()

Control * SBS::Floor::AddControl ( const std::string & name,
const std::string & sound,
const std::string & direction,
Real CenterX,
Real CenterZ,
Real width,
Real height,
Real voffset,
int selection_position,
std::vector< std::string > & action_names,
std::vector< std::string > & textures )

Definition at line 1611 of file floor.cpp.

References ControlArray, GetBase(), and SBS::Object::Move().

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddCustomObject() [1/2]

CustomObject * SBS::Floor::AddCustomObject ( const std::string & name,
const Vector3 & position,
const Vector3 & rotation,
Real max_render_distance = 0,
Real scale_multiplier = 1 )

Definition at line 1579 of file floor.cpp.

References CustomObjectArray.

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

◆ AddCustomObject() [2/2]

void SBS::Floor::AddCustomObject ( CustomObject * object)

Definition at line 1587 of file floor.cpp.

References CustomObjectArray.

◆ AddDirectionalIndicator()

DirectionalIndicator * SBS::Floor::AddDirectionalIndicator ( int elevator,
int car,
bool relative,
bool active_direction,
bool single,
bool vertical,
const std::string & BackTexture,
const std::string & uptexture,
const std::string & uptexture_lit,
const std::string & downtexture,
const std::string & downtexture_lit,
Real CenterX,
Real CenterZ,
Real voffset,
const std::string & direction,
Real BackWidth,
Real BackHeight,
bool ShowBack,
Real tw,
Real th )

◆ AddDoor()

Door * SBS::Floor::AddDoor ( std::string name,
const std::string & open_sound,
const std::string & close_sound,
bool open_state,
const std::string & texture,
const std::string & side_texture,
Real thickness,
const std::string & face_direction,
const std::string & open_direction,
bool rotate,
Real open_speed,
Real close_speed,
Real CenterX,
Real CenterZ,
Real width,
Real height,
Real voffset,
Real tw,
Real th,
Real side_tw,
Real side_th,
bool external = false )

◆ AddEscalator()

Escalator * SBS::Floor::AddEscalator ( const std::string & name,
int run,
Real speed,
const std::string & sound_file,
const std::string & riser_texture,
const std::string & tread_texture,
const std::string & direction,
Real CenterX,
Real CenterZ,
Real width,
Real risersize,
Real treadsize,
int num_steps,
Real voffset,
Real tw,
Real th )

Definition at line 1638 of file floor.cpp.

References EscalatorArray, and GetBase().

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddFillerWalls()

void SBS::Floor::AddFillerWalls ( const std::string & texture,
Real thickness,
Real CenterX,
Real CenterZ,
Real width,
Real height,
Real voffset,
bool direction,
Real tw,
Real th,
bool isexternal )

◆ AddFloor()

Wall * SBS::Floor::AddFloor ( const std::string & name,
const std::string & texture,
Real thickness,
Real x1,
Real z1,
Real x2,
Real z2,
Real voffset1,
Real voffset2,
bool reverse_axis,
bool texture_direction,
Real tw,
Real th,
bool isexternal,
bool legacy_behavior = false )

◆ AddFloorIndicator()

FloorIndicator * SBS::Floor::AddFloorIndicator ( int elevator,
int car,
bool relative,
const std::string & texture_prefix,
const std::string & blank_texture,
const std::string & direction,
Real CenterX,
Real CenterZ,
Real width,
Real height,
Real voffset )

Definition at line 910 of file floor.cpp.

References FloorIndicatorArray, GetBase(), SBS::SBS::GetElevator(), SBS::Object::GetPosition(), and SBS::ObjectBase::sbs.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddGroupFloor()

void SBS::Floor::AddGroupFloor ( int number)

Definition at line 685 of file floor.cpp.

References Group, and IsInGroup().

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddInterfloorFloor()

Wall * SBS::Floor::AddInterfloorFloor ( const std::string & name,
const std::string & texture,
Real thickness,
Real x1,
Real z1,
Real x2,
Real z2,
Real voffset1,
Real voffset2,
bool reverse_axis,
bool texture_direction,
Real tw,
Real th,
bool legacy_behavior = false )

Definition at line 339 of file floor.cpp.

References SBS::SBS::AddFloorMain(), SBS::MeshObject::CreateWallObject(), Interfloor, and SBS::ObjectBase::sbs.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddInterfloorWall()

Wall * SBS::Floor::AddInterfloorWall ( const std::string & name,
const std::string & texture,
Real thickness,
Real x1,
Real z1,
Real x2,
Real z2,
Real height_in1,
Real height_in2,
Real voffset1,
Real voffset2,
Real tw,
Real th )

Definition at line 369 of file floor.cpp.

References SBS::SBS::AddWallMain(), SBS::MeshObject::CreateWallObject(), Interfloor, and SBS::ObjectBase::sbs.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddLight()

Light * SBS::Floor::AddLight ( const std::string & name,
int type )

Definition at line 1505 of file floor.cpp.

References GetBase(), lights, and SBS::Object::Move().

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ AddModel() [1/2]

Model * SBS::Floor::AddModel ( const std::string & name,
const std::string & filename,
bool center,
Vector3 position,
Vector3 rotation,
Real max_render_distance = 0,
Real scale_multiplier = 1,
bool enable_physics = false,
Real restitution = 0,
Real friction = 0,
Real mass = 0 )

Definition at line 1525 of file floor.cpp.

References GetBase(), SBS::Model::load_error, and ModelArray.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddModel() [2/2]

void SBS::Floor::AddModel ( Model * model)

Definition at line 1538 of file floor.cpp.

References ModelArray.

◆ AddMovingWalkway()

MovingWalkway * SBS::Floor::AddMovingWalkway ( const std::string & name,
int run,
Real speed,
const std::string & sound_file,
const std::string & texture,
const std::string & direction,
Real CenterX,
Real CenterZ,
Real width,
Real treadsize,
int num_steps,
Real voffset,
Real tw,
Real th )

Definition at line 1646 of file floor.cpp.

References GetBase(), and MovingWalkwayArray.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddPrimitive() [1/2]

Primitive * SBS::Floor::AddPrimitive ( const std::string & name)

Definition at line 1554 of file floor.cpp.

References GetBase(), SBS::Object::Move(), and PrimArray.

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ AddPrimitive() [2/2]

void SBS::Floor::AddPrimitive ( Primitive * primitive)

Definition at line 1563 of file floor.cpp.

References PrimArray.

◆ AddReverb()

Reverb * SBS::Floor::AddReverb ( const std::string & name,
const std::string & type,
const Vector3 & position,
Real min_distance,
Real max_distance )

Definition at line 1971 of file floor.cpp.

References reverbs.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

◆ AddRevolvingDoor()

RevolvingDoor * SBS::Floor::AddRevolvingDoor ( std::string name,
bool run,
const std::string & soundfile,
const std::string & texture,
Real thickness,
bool clockwise,
int segments,
Real speed,
Real rotation,
Real CenterX,
Real CenterZ,
Real width,
Real height,
Real voffset,
Real tw,
Real th,
bool external )

◆ AddSound()

Sound * SBS::Floor::AddSound ( const std::string & name,
const std::string & filename,
Vector3 position,
bool loop = true,
Real volume = 1.0,
int speed = 100,
Real min_distance = 1.0,
Real max_distance = -1.0,
Real doppler_level = 0.0,
Real cone_inside_angle = 360,
Real cone_outside_angle = 360,
Real cone_outside_volume = 1.0,
Vector3 direction = Vector3(0, 0, 0) )

◆ AddTrigger()

Trigger * SBS::Floor::AddTrigger ( const std::string & name,
const std::string & sound_file,
Vector3 & area_min,
Vector3 & area_max,
std::vector< std::string > & action_names )

Definition at line 1621 of file floor.cpp.

References GetBase(), SBS::Object::Move(), and TriggerArray.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ AddWall()

Wall * SBS::Floor::AddWall ( const std::string & name,
const std::string & texture,
Real thickness,
Real x1,
Real z1,
Real x2,
Real z2,
Real height_in1,
Real height_in2,
Real voffset1,
Real voffset2,
Real tw,
Real th,
bool isexternal )

◆ CalculateAltitude()

bool SBS::Floor::CalculateAltitude ( )

Definition at line 845 of file floor.cpp.

References Altitude, FullHeight(), SBS::SBS::GetFloor(), Number, ReportError(), SBS::ObjectBase::sbs, and SetAltitude().

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ ColumnWallBox()

Wall * SBS::Floor::ColumnWallBox ( const std::string & name,
const std::string & texture,
Real x1,
Real x2,
Real z1,
Real z2,
Real height_in,
Real voffset,
Real tw,
Real th,
bool inside,
bool outside,
bool top,
bool bottom )

Definition at line 896 of file floor.cpp.

References ColumnFrame, SBS::SBS::CreateWallBox(), and SBS::ObjectBase::sbs.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ ColumnWallBox2()

Wall * SBS::Floor::ColumnWallBox2 ( const std::string & name,
const std::string & texture,
Real CenterX,
Real CenterZ,
Real WidthX,
Real LengthZ,
Real height_in,
Real voffset,
Real tw,
Real th,
bool inside,
bool outside,
bool top,
bool bottom )

Definition at line 903 of file floor.cpp.

References ColumnFrame, SBS::SBS::CreateWallBox2(), and SBS::ObjectBase::sbs.

Referenced by Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ CreateDoor()

Door * SBS::Floor::CreateDoor ( std::string name,
const std::string & open_sound,
const std::string & close_sound,
bool rotate )

Definition at line 830 of file floor.cpp.

References DoorArray, GetBase(), SBS::Object::Move(), and SBS::ToString().

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ Cut()

void SBS::Floor::Cut ( const Vector3 & start,
const Vector3 & end,
bool cutwalls,
bool cutfloors,
bool fast,
int checkwallnumber = 0,
bool prepare = false )

◆ CutAll()

◆ EnableColumnFrame()

void SBS::Floor::EnableColumnFrame ( bool value)

◆ Enabled()

◆ EnableGroup()

◆ EnableInterfloor()

void SBS::Floor::EnableInterfloor ( bool value)

◆ FullHeight()

◆ GetBase()

◆ GetCallStation()

CallStation * SBS::Floor::GetCallStation ( int number)

Definition at line 1006 of file floor.cpp.

References CallStationArray, and Number.

Referenced by Skyscraper::ScriptProcessor::CallStationSection::Run().

◆ GetCallStationCount()

int SBS::Floor::GetCallStationCount ( )

Definition at line 1966 of file floor.cpp.

References CallStationArray.

◆ GetCallStationForElevator()

CallStation * SBS::Floor::GetCallStationForElevator ( int elevator)

◆ GetCallStations()

std::vector< int > SBS::Floor::GetCallStations ( int elevator)

Definition at line 973 of file floor.cpp.

References CallStationArray.

◆ GetCameraTexture()

CameraTexture * SBS::Floor::GetCameraTexture ( int number)

Definition at line 1958 of file floor.cpp.

References CameraTextureArray.

◆ GetCustomObject()

CustomObject * SBS::Floor::GetCustomObject ( std::string name)

Definition at line 1902 of file floor.cpp.

References CustomObjectArray, SBS::ObjectBase::GetName(), SBS::SetCase(), and SBS::SetCaseCopy().

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ GetDirectFloors()

std::vector< int > SBS::Floor::GetDirectFloors ( bool include_service)

◆ GetDirectRoute()

ElevatorRoute * SBS::Floor::GetDirectRoute ( int DestinationFloor,
std::string ElevatorType )

◆ GetDoor() [1/2]

Door * SBS::Floor::GetDoor ( const std::string & name)

Definition at line 1309 of file floor.cpp.

References DoorArray, and SBS::ObjectBase::GetName().

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ GetDoor() [2/2]

Door * SBS::Floor::GetDoor ( int number)

Definition at line 1297 of file floor.cpp.

References DoorArray.

◆ GetElevatorList()

void SBS::Floor::GetElevatorList ( std::vector< int > & listing,
bool get_locals = true,
bool get_express = true,
bool get_service = true )

◆ GetLight()

Light * SBS::Floor::GetLight ( const std::string & name)

Definition at line 1515 of file floor.cpp.

References SBS::ObjectBase::GetName(), and lights.

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ GetModel()

Model * SBS::Floor::GetModel ( std::string name)

Definition at line 1872 of file floor.cpp.

References SBS::ObjectBase::GetName(), ModelArray, SBS::SetCase(), and SBS::SetCaseCopy().

Referenced by Skyscraper::ScriptProcessor::Section::GetMeshObject().

Here is the call graph for this function:

◆ GetPrimitive()

Primitive * SBS::Floor::GetPrimitive ( std::string name)

Definition at line 1887 of file floor.cpp.

References SBS::ObjectBase::GetName(), PrimArray, SBS::SetCase(), and SBS::SetCaseCopy().

Referenced by Skyscraper::ScriptProcessor::CommandsSection::Run().

Here is the call graph for this function:

◆ GetReverb() [1/2]

Reverb * SBS::Floor::GetReverb ( const std::string & name)

Definition at line 1979 of file floor.cpp.

References reverbs, and SBS::SetCase().

Referenced by SBS::Sound::GetNearestReverbPosition().

Here is the call graph for this function:

◆ GetReverb() [2/2]

Reverb * SBS::Floor::GetReverb ( int index)

Definition at line 2018 of file floor.cpp.

References reverbs.

◆ GetReverbCount()

int SBS::Floor::GetReverbCount ( )

Definition at line 2013 of file floor.cpp.

References reverbs.

Referenced by SBS::Sound::GetNearestReverbPosition().

◆ GetRevolvingDoor()

RevolvingDoor * SBS::Floor::GetRevolvingDoor ( int number)

Definition at line 1946 of file floor.cpp.

References RDoorArray.

◆ GetShaftList()

void SBS::Floor::GetShaftList ( std::vector< int > & listing)

Definition at line 1776 of file floor.cpp.

References SBS::SBS::GetShaft(), SBS::SBS::GetShaftCount(), SBS::Shaft::IsValidFloor(), Number, SBS::ObjectBase::sbs, and SBS::Shaft::ShaftNumber.

Referenced by ShowInfo().

Here is the call graph for this function:

◆ GetSound()

std::vector< Sound * > SBS::Floor::GetSound ( const std::string & name)

Definition at line 1114 of file floor.cpp.

References SBS::SetCase(), and sounds.

Referenced by SBS::Action::Run().

Here is the call graph for this function:

◆ GetStairwellList()

void SBS::Floor::GetStairwellList ( std::vector< int > & listing)

Definition at line 1761 of file floor.cpp.

References SBS::SBS::GetStairwell(), SBS::SBS::GetStairwellCount(), SBS::Stairwell::IsValidFloor(), Number, SBS::ObjectBase::sbs, and SBS::Stairwell::StairsNum.

Referenced by ShowInfo().

Here is the call graph for this function:

◆ IsEnabled()

bool SBS::Floor::IsEnabled ( )
virtual

◆ IsInGroup()

bool SBS::Floor::IsInGroup ( int floor)

◆ Loop()

void SBS::Floor::Loop ( )
virtual

Reimplemented from SBS::Object.

Definition at line 961 of file floor.cpp.

References is_enabled, SBS::Object::LoopChildren(), and SBS_PROFILE.

Here is the call graph for this function:

◆ RemoveCallStation()

void SBS::Floor::RemoveCallStation ( CallStation * station)

Definition at line 1319 of file floor.cpp.

References CallStationArray.

Referenced by SBS::CallStation::~CallStation().

◆ RemoveCameraTexture()

void SBS::Floor::RemoveCameraTexture ( CameraTexture * cameratexture)

Definition at line 1466 of file floor.cpp.

References CameraTextureArray.

◆ RemoveControl()

void SBS::Floor::RemoveControl ( Control * control)

Definition at line 1440 of file floor.cpp.

References ControlArray.

◆ RemoveCustomObject()

void SBS::Floor::RemoveCustomObject ( CustomObject * object)

Definition at line 1427 of file floor.cpp.

References CustomObjectArray.

◆ RemoveDirectionalIndicator()

void SBS::Floor::RemoveDirectionalIndicator ( DirectionalIndicator * indicator)

Definition at line 1346 of file floor.cpp.

References DirIndicatorArray.

◆ RemoveDoor()

void SBS::Floor::RemoveDoor ( Door * door)

Definition at line 1360 of file floor.cpp.

References DoorArray.

◆ RemoveEscalator()

void SBS::Floor::RemoveEscalator ( Escalator * escalator)

Definition at line 1479 of file floor.cpp.

References EscalatorArray.

◆ RemoveFloorIndicator()

void SBS::Floor::RemoveFloorIndicator ( FloorIndicator * indicator)

Definition at line 1332 of file floor.cpp.

References FloorIndicatorArray.

◆ RemoveGroupFloor()

void SBS::Floor::RemoveGroupFloor ( int number)

Definition at line 698 of file floor.cpp.

References Group.

◆ RemoveLight()

void SBS::Floor::RemoveLight ( Light * light)

Definition at line 1388 of file floor.cpp.

References lights.

◆ RemoveModel()

void SBS::Floor::RemoveModel ( Model * model)

Definition at line 1401 of file floor.cpp.

References ModelArray.

◆ RemoveMovingWalkway()

void SBS::Floor::RemoveMovingWalkway ( MovingWalkway * walkway)

Definition at line 1492 of file floor.cpp.

References MovingWalkwayArray.

◆ RemovePrimitive()

void SBS::Floor::RemovePrimitive ( Primitive * prim)

Definition at line 1414 of file floor.cpp.

References PrimArray.

◆ RemoveReverb()

void SBS::Floor::RemoveReverb ( Reverb * reverb)

Definition at line 1998 of file floor.cpp.

References reverbs.

◆ RemoveRevolvingDoor()

void SBS::Floor::RemoveRevolvingDoor ( RevolvingDoor * door)

Definition at line 1932 of file floor.cpp.

References RDoorArray.

◆ RemoveSound()

void SBS::Floor::RemoveSound ( Sound * sound)

Definition at line 1374 of file floor.cpp.

References sounds.

◆ RemoveTrigger()

void SBS::Floor::RemoveTrigger ( Trigger * trigger)

Definition at line 1453 of file floor.cpp.

References TriggerArray.

◆ ReplaceTexture()

void SBS::Floor::ReplaceTexture ( const std::string & oldtexture,
const std::string & newtexture )

Definition at line 1603 of file floor.cpp.

References ColumnFrame, Interfloor, Level, and SBS::MeshObject::ReplaceTexture().

Referenced by SBS::Action::Run().

Here is the call graph for this function:

◆ Report()

void SBS::Floor::Report ( const std::string & message)
virtual

Reimplemented from SBS::ObjectBase.

Definition at line 1134 of file floor.cpp.

References Number, SBS::ObjectBase::Report(), and SBS::ToString().

Referenced by AddDirectionalIndicator(), and Enabled().

Here is the call graph for this function:

◆ ReportError()

bool SBS::Floor::ReportError ( const std::string & message)
virtual

Reimplemented from SBS::ObjectBase.

Definition at line 1140 of file floor.cpp.

References Number, SBS::ObjectBase::ReportError(), and SBS::ToString().

Referenced by AddFillerWalls(), and CalculateAltitude().

Here is the call graph for this function:

◆ SetAltitude()

void SBS::Floor::SetAltitude ( Real altitude)

Definition at line 1654 of file floor.cpp.

References Altitude, AltitudeSet, and SBS::Object::SetPositionY().

Referenced by CalculateAltitude(), and Skyscraper::ScriptProcessor::FloorSection::Run().

Here is the call graph for this function:

◆ SetDirectionalIndicators()

void SBS::Floor::SetDirectionalIndicators ( int elevator,
int car,
bool UpLight,
bool DownLight )

◆ ShowInfo()

void SBS::Floor::ShowInfo ( bool detailed = true,
bool display_header = true )

◆ UpdateDirectionalIndicators() [1/2]

◆ UpdateDirectionalIndicators() [2/2]

◆ UpdateFloorIndicators() [1/2]

void SBS::Floor::UpdateFloorIndicators ( )

Definition at line 948 of file floor.cpp.

References FloorIndicatorArray, and SBS_PROFILE.

Referenced by Enabled().

◆ UpdateFloorIndicators() [2/2]

void SBS::Floor::UpdateFloorIndicators ( int elevator)

Definition at line 934 of file floor.cpp.

References FloorIndicatorArray, and SBS::FloorIndicator::Update().

Referenced by SBS::Elevator::FinishMove(), SBS::Elevator::MoveElevatorToFloor(), and SBS::Camera::UpdateCameraFloor().

Here is the call graph for this function:

Member Data Documentation

◆ Altitude

◆ AltitudeSet

bool SBS::Floor::AltitudeSet

Definition at line 53 of file floor.h.

Referenced by Floor(), Skyscraper::ScriptProcessor::FloorSection::Run(), and SetAltitude().

◆ callstation_index

int SBS::Floor::callstation_index
private

Definition at line 192 of file floor.h.

Referenced by AddCallButtons(), and Floor().

◆ CallStationArray

std::vector<CallStation*> SBS::Floor::CallStationArray

◆ CameraTextureArray

std::vector<CameraTexture*> SBS::Floor::CameraTextureArray
private

Definition at line 184 of file floor.h.

Referenced by AddCameraTexture(), GetCameraTexture(), RemoveCameraTexture(), and ~Floor().

◆ ColumnFrame

◆ ControlArray

std::vector<Control*> SBS::Floor::ControlArray
private

Definition at line 178 of file floor.h.

Referenced by AddControl(), Enabled(), RemoveControl(), and ~Floor().

◆ CustomObjectArray

std::vector<CustomObject*> SBS::Floor::CustomObjectArray
private

◆ Description

std::string SBS::Floor::Description

Definition at line 41 of file floor.h.

Referenced by Floor(), Skyscraper::ScriptProcessor::FloorSection::Run(), and ShowInfo().

◆ DirIndicatorArray

◆ DoorArray

std::vector<Door*> SBS::Floor::DoorArray
private

Definition at line 158 of file floor.h.

Referenced by AddDoor(), CreateDoor(), Enabled(), GetDoor(), GetDoor(), RemoveDoor(), and ~Floor().

◆ DoorWrapper

DynamicMesh* SBS::Floor::DoorWrapper
private

Definition at line 160 of file floor.h.

Referenced by ~Floor().

◆ EnabledGroup

bool SBS::Floor::EnabledGroup

Definition at line 51 of file floor.h.

Referenced by SBS::Shaft::Check(), SBS::SBS::EnableFloorRange(), EnableGroup(), and Floor().

◆ EnabledGroup_Floor

int SBS::Floor::EnabledGroup_Floor

Definition at line 52 of file floor.h.

Referenced by SBS::Shaft::Check(), SBS::SBS::EnableFloorRange(), EnableGroup(), and Floor().

◆ EscalatorArray

std::vector<Escalator*> SBS::Floor::EscalatorArray
private

Definition at line 187 of file floor.h.

Referenced by AddEscalator(), Enabled(), RemoveEscalator(), and ~Floor().

◆ FloorIndicatorArray

std::vector<FloorIndicator*> SBS::Floor::FloorIndicatorArray

◆ FloorType

std::string SBS::Floor::FloorType

◆ Group

std::vector<int> SBS::Floor::Group

Definition at line 50 of file floor.h.

Referenced by AddGroupFloor(), EnableGroup(), IsInGroup(), and RemoveGroupFloor().

◆ Height

◆ ID

◆ IndicatorTexture

std::string SBS::Floor::IndicatorTexture

Definition at line 42 of file floor.h.

Referenced by Floor(), and Skyscraper::ScriptProcessor::FloorSection::Run().

◆ Interfloor

◆ InterfloorHeight

◆ is_enabled

bool SBS::Floor::is_enabled
private

Definition at line 149 of file floor.h.

Referenced by Enabled(), Floor(), IsEnabled(), and Loop().

◆ IsColumnFrameEnabled

bool SBS::Floor::IsColumnFrameEnabled

Definition at line 46 of file floor.h.

Referenced by EnableColumnFrame(), Floor(), and Skyscraper::MeshControl::Loop().

◆ IsInterfloorEnabled

bool SBS::Floor::IsInterfloorEnabled

Definition at line 47 of file floor.h.

Referenced by SBS::Shaft::Check(), EnableInterfloor(), Floor(), and Skyscraper::MeshControl::Loop().

◆ Level

◆ lights

std::vector<Light*> SBS::Floor::lights
private

Definition at line 163 of file floor.h.

Referenced by AddLight(), Enabled(), GetLight(), RemoveLight(), and ~Floor().

◆ ModelArray

std::vector<Model*> SBS::Floor::ModelArray
private

Definition at line 169 of file floor.h.

Referenced by AddModel(), AddModel(), Enabled(), GetModel(), RemoveModel(), and ~Floor().

◆ MovingWalkwayArray

std::vector<MovingWalkway*> SBS::Floor::MovingWalkwayArray
private

Definition at line 190 of file floor.h.

Referenced by AddMovingWalkway(), Enabled(), RemoveMovingWalkway(), and ~Floor().

◆ Name

std::string SBS::Floor::Name

◆ Number

◆ NumberID

std::string SBS::Floor::NumberID

Definition at line 39 of file floor.h.

Referenced by Floor(), and Skyscraper::ScriptProcessor::FloorSection::Run().

◆ PrimArray

std::vector<Primitive*> SBS::Floor::PrimArray
private

Definition at line 172 of file floor.h.

Referenced by AddPrimitive(), AddPrimitive(), Enabled(), GetPrimitive(), RemovePrimitive(), and ~Floor().

◆ RDoorArray

std::vector<RevolvingDoor*> SBS::Floor::RDoorArray
private

Definition at line 159 of file floor.h.

Referenced by AddRevolvingDoor(), GetRevolvingDoor(), RemoveRevolvingDoor(), and ~Floor().

◆ reverbs

std::vector<Reverb*> SBS::Floor::reverbs
private

Definition at line 155 of file floor.h.

Referenced by AddReverb(), Enabled(), GetReverb(), GetReverb(), GetReverbCount(), RemoveReverb(), and ~Floor().

◆ sounds

std::vector<Sound*> SBS::Floor::sounds
private

Definition at line 152 of file floor.h.

Referenced by AddSound(), Enabled(), GetSound(), RemoveSound(), and ~Floor().

◆ TriggerArray

std::vector<Trigger*> SBS::Floor::TriggerArray
private

Definition at line 181 of file floor.h.

Referenced by AddTrigger(), Enabled(), RemoveTrigger(), and ~Floor().


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