Sirikata
Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::JS::JSAggregateVisibleData Class Reference

JSVisibleData that aggregates multiple other JSVisibleDatas, presenting the best information available at the time. More...

#include <JSVisibleData.hpp>

Inheritance diagram for Sirikata::JS::JSAggregateVisibleData:
Collaboration diagram for Sirikata::JS::JSAggregateVisibleData:

List of all members.

Public Member Functions

 JSAggregateVisibleData (JSVisibleDataListener *parent, const SpaceObjectReference &vis)
virtual ~JSAggregateVisibleData ()
virtual const
SpaceObjectReference
id ()
 ID of this object in the space.
virtual const
SpaceObjectReference
observer ()
 ID of the observing presence of this object.
virtual void disable ()
bool visibleToPresence () const
virtual TimedMotionVector3f location () const
virtual TimedMotionQuaternion orientation () const
virtual AggregateBoundingInfo bounds () const
virtual Transfer::URI mesh () const
virtual String physics () const
virtual bool isAggregate () const
virtual ObjectReference parent () const
virtual void removeVisibleData (JSVisibleData *data)
void updateFrom (ProxyObjectPtr proxy)
void updateFrom (const IPresencePropertiesRead &props)
void incref (JSVisibleDataPtr self)
void decref ()

Private Types

typedef std::map
< SpaceObjectReference,
JSVisibleDataPtr
ChildMap
typedef boost::mutex Mutex

Private Member Functions

 JSAggregateVisibleData ()
JSVisibleDataPtr getBestChild () const

Private Attributes

int32 refcount
JSVisibleDataPtr selfPtr
ChildMap mChildren
SpaceObjectReference mBest
Mutex childMutex

Detailed Description

JSVisibleData that aggregates multiple other JSVisibleDatas, presenting the best information available at the time.


Member Typedef Documentation

typedef boost::mutex Sirikata::JS::JSAggregateVisibleData::Mutex [private]

Constructor & Destructor Documentation

Sirikata::JS::JSAggregateVisibleData::JSAggregateVisibleData ( JSVisibleDataListener parent,
const SpaceObjectReference vis 
)
Sirikata::JS::JSAggregateVisibleData::~JSAggregateVisibleData ( ) [virtual]
Sirikata::JS::JSAggregateVisibleData::JSAggregateVisibleData ( ) [private]

Member Function Documentation

AggregateBoundingInfo Sirikata::JS::JSAggregateVisibleData::bounds ( ) const [virtual]
void Sirikata::JS::JSAggregateVisibleData::decref ( )

References refcount, and selfPtr.

void Sirikata::JS::JSAggregateVisibleData::disable ( ) [virtual]

Reimplemented from Sirikata::JS::JSVisibleData.

References childMutex, and mChildren.

JSVisibleDataPtr Sirikata::JS::JSAggregateVisibleData::getBestChild ( ) const [private]
const SpaceObjectReference & Sirikata::JS::JSAggregateVisibleData::id ( ) [virtual]

ID of this object in the space.

Implements Sirikata::JS::JSVisibleData.

References getBestChild().

void Sirikata::JS::JSAggregateVisibleData::incref ( JSVisibleDataPtr  self)

References refcount, and selfPtr.

bool Sirikata::JS::JSAggregateVisibleData::isAggregate ( ) const [virtual]
TimedMotionVector3f Sirikata::JS::JSAggregateVisibleData::location ( ) const [virtual]
Transfer::URI Sirikata::JS::JSAggregateVisibleData::mesh ( ) const [virtual]
const SpaceObjectReference & Sirikata::JS::JSAggregateVisibleData::observer ( ) [virtual]

ID of the observing presence of this object.

Implements Sirikata::JS::JSVisibleData.

References Sirikata::SpaceObjectReference::null().

TimedMotionQuaternion Sirikata::JS::JSAggregateVisibleData::orientation ( ) const [virtual]
ObjectReference Sirikata::JS::JSAggregateVisibleData::parent ( ) const [virtual]
String Sirikata::JS::JSAggregateVisibleData::physics ( ) const [virtual]
void Sirikata::JS::JSAggregateVisibleData::removeVisibleData ( JSVisibleData data) [virtual]
void Sirikata::JS::JSAggregateVisibleData::updateFrom ( const IPresencePropertiesRead props)
void Sirikata::JS::JSAggregateVisibleData::updateFrom ( ProxyObjectPtr  proxy)

References childMutex, mBest, and mChildren.

Referenced by updateFrom().

bool Sirikata::JS::JSAggregateVisibleData::visibleToPresence ( ) const

References refcount.


Member Data Documentation

Referenced by getBestChild(), and updateFrom().

Referenced by decref(), incref(), and visibleToPresence().

Referenced by decref(), and incref().


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