Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

zeitgeist::Object Class Reference

Object is the base class of all objects in the Zeitgeist framework. More...

#include <object.h>

Inheritance diagram for zeitgeist::Object:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Object ()
 constructs an object
virtual ~Object ()
bool Construct (const boost::shared_ptr< Object > &self, const boost::shared_ptr< Class > &creator)
 sets up the internal state of the object, used by Class::Create().
boost::shared_ptr< ClassGetClass () const
 returns the corresponding class object
boost::weak_ptr< Object > & GetSelf ()
 returns a pointer to the object
const boost::weak_ptr< Object > & GetSelf () const
 returns a constant pointer to the object
boost::shared_ptr< CoreGetCore () const
 return a pointer to the core, this object belongs to
const boost::shared_ptr< FileServer > & GetFile () const
 helper function to get a reference to the FileServer
const boost::shared_ptr< LogServer > & GetLog () const
 helper function to get a reference to the LogServer
const boost::shared_ptr< ScriptServer > & GetScript () const
 helper function to get a reference to the ScriptServer
virtual void Dump () const
 prints debug output to stdout
void Invoke (const std::string &functionName, const ParameterList &parameter)
 function invocation used for scripting

Protected Member Functions

virtual bool ConstructInternal ()
 called after the object has been created and attached to a core to allow for object dependent internal construction

Private Attributes

boost::shared_ptr< ClassmClass
 pointer to the class object which created this instance
boost::weak_ptr< ObjectmSelf
 pointer to the instance of the object

Detailed Description

Object is the base class of all objects in the Zeitgeist framework.

An object is characterized by a single thing, the class which created it. The core it belongs to can be reached via the class object. Every object holds a shared_ptr to the class object, which created it.

Definition at line 50 of file object.h.


Constructor & Destructor Documentation

Object::Object  ) 
 

constructs an object

Definition at line 33 of file object.cpp.

Object::~Object  )  [virtual]
 

Definition at line 37 of file object.cpp.

References GetSelf(), and mClass.

Here is the call graph for this function:


Member Function Documentation

bool Object::Construct const boost::shared_ptr< Object > &  self,
const boost::shared_ptr< Class > &  creator
 

sets up the internal state of the object, used by Class::Create().

Parameters:
self is a pointer to the instance of the object, i.e. a smart this pointer
creator is a pointer to the class object that created this object

Definition at line 45 of file object.cpp.

References ConstructInternal(), mClass, and mSelf.

Here is the call graph for this function:

bool Object::ConstructInternal  )  [protected, virtual]
 

called after the object has been created and attached to a core to allow for object dependent internal construction

Reimplemented in kerosin::OpenGLServer, oxygen::BoxCollider, oxygen::CCylinderCollider, oxygen::PlaneCollider, oxygen::RayCollider, oxygen::Space, oxygen::SphereCollider, oxygen::World, oxygen::SpadesServer, zeitgeist::ScriptServer, MonitorTest, RestrictedVisionPerceptor, SexpMonitor, and VisionPerceptor.

Definition at line 149 of file object.cpp.

Referenced by Construct(), oxygen::SphereCollider::ConstructInternal(), zeitgeist::ScriptServer::ConstructInternal(), oxygen::RayCollider::ConstructInternal(), oxygen::PlaneCollider::ConstructInternal(), oxygen::CCylinderCollider::ConstructInternal(), and oxygen::BoxCollider::ConstructInternal().

void Object::Dump  )  const [virtual]
 

prints debug output to stdout

Reimplemented in zeitgeist::Leaf, and zeitgeist::Node.

Definition at line 110 of file object.cpp.

References mSelf.

Referenced by zeitgeist::Leaf::Dump().

boost::shared_ptr< Class > Object::GetClass  )  const
 

returns the corresponding class object

Definition at line 54 of file object.cpp.

References zeitgeist::Leaf::GetFullPath(), zeitgeist::Leaf::GetName(), and mClass.

Referenced by oxygen::NetControl::InitSimulation(), thisCall(), and zeitgeist::Node::UnlinkChildren().

Here is the call graph for this function:

boost::shared_ptr< Core > Object::GetCore  )  const
 

return a pointer to the core, this object belongs to

Reimplemented in zeitgeist::Class.

Definition at line 86 of file object.cpp.

References zeitgeist::Leaf::GetFullPath(), zeitgeist::Leaf::GetName(), and mClass.

Referenced by oxygen::Collider::AddCollisionHandler(), oxygen::GameControlServer::AgentConnect(), VisionPerceptor::ConstructInternal(), zeitgeist::ScriptServer::ConstructInternal(), RestrictedVisionPerceptor::ConstructInternal(), InputSystemSDL::CreateDevice(), oxygen::SceneServer::CreateScene(), oxygen::GameControlServer::GetActiveScene(), oxygen::ControlAspect::GetActiveScene(), SoccerControlAspect::GetBallRecorder(), oxygen::Joint::GetBody(), SoccerControlAspect::GetFieldRecorder(), GetFile(), SoccerControlAspect::GetLeftGoalRecorder(), GetLog(), SexpMonitor::GetMonitorInfo(), MonitorTest::GetMonitorInfo(), SoccerControlAspect::GetRightGoalRecorder(), GetScript(), SoccerBase::GetSoccerVar(), kerosin::SoundServer::Init(), kerosin::InputServer::Init(), oxygen::SimulationServer::InitControlNode(), oxygen::GameControlServer::InitParser(), oxygen::SceneServer::InitSceneImporter(), SparkMonitorClient::InitSimulation(), kerosin::StaticMesh::Load(), kerosin::OpenGLServer::LoadARBProgram(), TrainerCommandParser::OnLink(), TimePerceptor::OnLink(), kerosin::TextureServer::OnLink(), SparkMonitorClient::OnLink(), SparkMonitor::OnLink(), oxygen::SpadesServer::OnLink(), SoccerRender::OnLink(), SoccerInput::OnLink(), oxygen::SimulationServer::OnLink(), SexpMonitor::OnLink(), kerosin::RenderServer::OnLink(), kerosin::RenderControl::OnLink(), kerosin::MaterialServer::OnLink(), kerosin::Light::OnLink(), kerosin::InputControl::OnLink(), oxygen::SpadesServer::parseParameters(), PerfectVisionPerceptor::Percept(), Ball::PrePhysicsUpdateInternal(), RubySceneImporter::PushInvocation(), oxygen::MonitorServer::RegisterMonitorItem(), oxygen::MonitorServer::RegisterMonitorSystem(), oxygen::SceneServer::SetActiveScene(), kerosin::InputControl::SetFPSController(), kerosin::SingleMatNode::SetMaterial(), SexpMonitor::UpdateCached(), zeitgeist::ScriptServer::UpdateCachedAllNodes(), and SoccerRuleAspect::UpdateGameOver().

Here is the call graph for this function:

const boost::shared_ptr< FileServer > & Object::GetFile  )  const
 

helper function to get a reference to the FileServer

Definition at line 134 of file object.cpp.

References GetCore().

Here is the call graph for this function:

const boost::shared_ptr< LogServer > & Object::GetLog  )  const
 

helper function to get a reference to the LogServer

Definition at line 139 of file object.cpp.

References GetCore().

Referenced by oxygen::NetControl::AcceptTCPConnections(), oxygen::Collider::AddCollisionHandler(), oxygen::GameControlServer::AgentConnect(), oxygen::GameControlServer::AgentDisappear(), zeitgeist::FileServer::Close(), oxygen::NetClient::CloseConnection(), oxygen::NetClient::Connect(), VisionPerceptor::ConstructInternal(), RestrictedVisionPerceptor::ConstructInternal(), kerosin::OpenGLServer::ConstructInternal(), MonitorTest::ConstructInternal(), oxygen::SimulationServer::ControlEvent(), oxygen::Body::CreateBody(), InputSystemSDL::CreateDevice(), kerosin::InputServer::CreateDevice(), RubySceneImporter::CreateNode(), oxygen::SpadesCreateSenseEvent::createSense(), oxygen::NetControl::DoneSimulation(), RestrictedVisionPerceptor::DynamicAxisPercept(), oxygen::AgentControl::EndCycle(), KeyboardSDL::EventFilter(), zeitgeist::FileServer::Get(), UniversalJointEffector::GetActionObject(), SceneEffector::GetActionObject(), SayEffector::GetActionObject(), PanTiltEffector::GetActionObject(), KickEffector::GetActionObject(), InitEffector::GetActionObject(), HingeEffector::GetActionObject(), Hinge2Effector::GetActionObject(), ForceEffector::GetActionObject(), DriveEffector::GetActionObject(), CreateEffector::GetActionObject(), CatchEffector::GetActionObject(), BeamEffector::GetActionObject(), oxygen::GameControlServer::GetActiveScene(), oxygen::ControlAspect::GetActiveScene(), SoccerBase::GetAgentStates(), SoccerControlAspect::GetBallRecorder(), oxygen::Joint::GetBody(), SoccerControlAspect::GetFieldRecorder(), kerosin::InputServer::GetInput(), SoccerControlAspect::GetLeftGoalRecorder(), kerosin::MaterialServer::GetMaterial(), oxygen::MonitorServer::GetMonitorHeaderInfo(), SexpMonitor::GetMonitorInfo(), MonitorTest::GetMonitorInfo(), RubySceneImporter::GetParamEnv(), SoccerControlAspect::GetRightGoalRecorder(), SoccerBase::GetSoccerVar(), oxygen::ODEObject::GetSpace(), oxygen::ODEObject::GetSpaceID(), oxygen::ODEObject::GetWorld(), oxygen::ODEObject::GetWorldID(), kerosin::ImageServer::HandleErrors(), kerosin::SoundServer::Init(), InputSystemSDL::Init(), kerosin::InputServer::Init(), kerosin::Font::Init(), oxygen::SimulationServer::InitControlNode(), oxygen::GameControlServer::InitParser(), oxygen::SceneServer::InitSceneImporter(), SparkMonitorClient::InitSimulation(), oxygen::NetControl::InitSimulation(), RubySceneImporter::Invoke(), kerosin::InputServer::Invoke(), kerosin::StaticMesh::Load(), kerosin::SoundServer::LoadSoundObject(), UniversalJointPerceptor::OnLink(), UniversalJointEffector::OnLink(), TrainerCommandParser::OnLink(), TimePerceptor::OnLink(), kerosin::TextureServer::OnLink(), SparkMonitorClient::OnLink(), SparkMonitor::OnLink(), oxygen::SpadesServer::OnLink(), SoccerRender::OnLink(), SoccerInput::OnLink(), SoccerControlAspect::OnLink(), oxygen::SimulationServer::OnLink(), SexpMonitor::OnLink(), SayEffector::OnLink(), kerosin::RenderServer::OnLink(), kerosin::RenderControl::OnLink(), oxygen::MonitorControl::OnLink(), kerosin::Light::OnLink(), KickEffector::OnLink(), kerosin::InputControl::OnLink(), InitEffector::OnLink(), HingePerceptor::OnLink(), HingeEffector::OnLink(), Hinge2Perceptor::OnLink(), Hinge2Effector::OnLink(), ForceEffector::OnLink(), DriveEffector::OnLink(), oxygen::CollisionHandler::OnLink(), CatchEffector::OnLink(), oxygen::Camera::OnLink(), oxygen::BodyController::OnLink(), oxygen::AgentControl::OnLink(), zeitgeist::FileServer::OnUnlink(), TrainerCommandParser::ParseBallCommand(), kerosin::InputServer::ParseBindDescription(), RubySceneImporter::ParseDefine(), TrainerCommandParser::ParseKickOffCommand(), TrainerCommandParser::ParseMonitorMessage(), MonitorTest::ParseMonitorMessage(), TrainerCommandParser::ParsePlayerCommand(), TrainerCommandParser::ParsePlayModeCommand(), RubySceneImporter::ParseTemplate(), oxygen::SpadesServer::pauseModeCallback(), PerfectVisionPerceptor::Percept(), AgentStatePerceptor::Percept(), RubySceneImporter::PopParameter(), RubySceneImporter::PushInvocation(), oxygen::ParamReader::readCmdLineArgs(), oxygen::NetClient::ReadFragments(), oxygen::NetControl::ReadTCPMessages(), oxygen::NetControl::ReadUDPMessages(), SceneEffector::Realize(), PanTiltEffector::Realize(), KickEffector::Realize(), InitEffector::Realize(), HingeEffector::Realize(), Hinge2Effector::Realize(), ForceEffector::Realize(), DriveEffector::Realize(), CatchEffector::Realize(), BeamEffector::Realize(), oxygen::AgentAspect::RealizeActions(), oxygen::SpadesCreateSenseEvent::realizeEventWorldModel(), oxygen::SpadesActEvent::realizeEventWorldModel(), oxygen::MonitorServer::RegisterMonitorItem(), oxygen::MonitorServer::RegisterMonitorSystem(), kerosin::RenderServer::Render(), GameStateAspect::RequestInitPosition(), oxygen::SimulationServer::Run(), KickEffector::SetAngleRange(), kerosin::InputControl::SetFPSController(), kerosin::SingleMatNode::SetMaterial(), GameStateAspect::SetPlayMode(), VisionPerceptor::SetupVisibleObjects(), RestrictedVisionPerceptor::SetupVisibleObjects(), oxygen::SpadesServer::StartAgents(), oxygen::StdMeshImporter::UnitCCylinder(), SoccerRuleAspect::Update(), SexpMonitor::UpdateCached(), zeitgeist::ScriptServer::UpdateCachedAllNodes(), SoccerRuleAspect::UpdateKickIn(), and SoccerRuleAspect::UpdateOffside().

Here is the call graph for this function:

const boost::shared_ptr< ScriptServer > & Object::GetScript  )  const
 

helper function to get a reference to the ScriptServer

Definition at line 144 of file object.cpp.

References GetCore().

Referenced by oxygen::SpadesServer::ConstructInternal(), kerosin::OpenGLServer::ConstructInternal(), oxygen::SpadesServer::GetCommServersWanted(), oxygen::SpadesServer::GetMonitorInterval(), oxygen::SpadesServer::GetRunIntegratedCommserver(), oxygen::SpadesServer::GetSendAgentThinkTimes(), kerosin::InputServer::Init(), kerosin::Font::Init(), oxygen::Camera::OnLink(), oxygen::ParamReader::readCmdLineArgs(), and oxygen::SpadesServer::UpdateCached().

Here is the call graph for this function:

const boost::weak_ptr< Object > & Object::GetSelf  )  const
 

returns a constant pointer to the object

Definition at line 81 of file object.cpp.

References mSelf.

boost::weak_ptr< Object > & Object::GetSelf  ) 
 

returns a pointer to the object

Definition at line 76 of file object.cpp.

References mSelf.

Referenced by zeitgeist::Node::AddChildReference(), zeitgeist::Class::Create(), oxygen::Joint::GetBody(), oxygen::Body::GetBody(), zeitgeist::Leaf::GetChild(), zeitgeist::Leaf::GetChildren(), oxygen::Collider::GetCollider(), oxygen::Joint::GetJoint(), oxygen::BaseNode::GetScene(), kerosin::TextureServer::GetTexture(), Invoke(), zeitgeist::Leaf::SetParent(), and ~Object().

void Object::Invoke const std::string &  functionName,
const ParameterList parameter
 

function invocation used for scripting

Definition at line 122 of file object.cpp.

References GetSelf(), and mClass.

Here is the call graph for this function:


Member Data Documentation

boost::shared_ptr<Class> zeitgeist::Object::mClass [private]
 

pointer to the class object which created this instance

Definition at line 105 of file object.h.

Referenced by Construct(), GetClass(), GetCore(), Invoke(), and ~Object().

boost::weak_ptr<Object> zeitgeist::Object::mSelf [private]
 

pointer to the instance of the object

Definition at line 108 of file object.h.

Referenced by Construct(), Dump(), and GetSelf().


The documentation for this class was generated from the following files:
Generated on Thu Apr 6 15:50:52 2006 for rcssserver3d by  doxygen 1.4.4