Sirikata
|
#include <JSPresenceStruct.hpp>
Public Member Functions | |
JSPresenceStruct (EmersonScript *parent, v8::Handle< v8::Function > onConnected, JSContextStruct *ctx, HostedObject::PresenceToken presenceToken, JSCtx *) | |
JSPresenceStruct (EmersonScript *parent, const SpaceObjectReference &_sporef, JSContextStruct *ctx, HostedObject::PresenceToken presenceToken, JSCtx *) | |
JSPresenceStruct (EmersonScript *parent, PresStructRestoreParams &psrp, Vector3f center, HostedObject::PresenceToken presToken, JSContextStruct *jscont, const TimedMotionVector3f &tmv, const TimedMotionQuaternion &tmq, JSCtx *) | |
virtual void | fixupSuspendable () |
~JSPresenceStruct () | |
void | connect (const SpaceObjectReference &_sporef) |
void | markDisconnected () |
void | handleDisconnectedCallback () |
virtual v8::Handle< v8::Value > | suspend () |
virtual v8::Handle< v8::Value > | resume () |
virtual v8::Handle< v8::Value > | clear () |
v8::Handle< v8::Value > | disconnect () |
v8::Handle< v8::Value > | getAllData () |
v8::Handle< v8::Value > | doneRestoring () |
bool | getIsConnected () |
v8::Handle< v8::Value > | getIsConnectedV8 () |
v8::Handle< v8::Value > | setConnectedCB (v8::Handle< v8::Function > newCB) |
void | addAssociatedContext (JSContextStruct *) |
HostedObject::PresenceToken | getPresenceToken () |
String | getQuery () |
v8::Handle< v8::Value > | struct_getQuery () |
v8::Handle< v8::Value > | setQueryFunction (const String &new_query) |
v8::Handle< v8::Value > | setOrientationVelFunction (Quaternion newOrientationVel) |
v8::Handle< v8::Value > | struct_setVelocity (const Vector3f &newVel) |
v8::Handle< v8::Value > | struct_setPosition (Vector3f newPos) |
v8::Handle< v8::Value > | setVisualScaleFunction (float new_scale) |
v8::Handle< v8::Value > | setVisualFunction (String urilocation) |
v8::Handle< v8::Value > | setOrientationFunction (Quaternion newOrientation) |
v8::Handle< v8::Value > | setPhysicsFunction (const String &loc) |
v8::Local< v8::Object > | toVisible () |
v8::Handle< v8::Value > | runSimulation (String simname) |
v8::Handle< v8::Value > | toString () |
Static Public Member Functions | |
static JSPresenceStruct * | decodePresenceStruct (v8::Handle< v8::Value > toDecode, String &errorMessage) |
Public Attributes | |
v8::Persistent< v8::Function > | mOnConnectedCallback |
Private Member Functions | |
void | callConnectedCallback () |
void | clearPreviousConnectedCB () |
Private Attributes | |
EmersonScript * | mParent |
uint32 | mContID |
bool | isConnected |
bool | hasConnectedCallback |
HostedObject::PresenceToken | mPresenceToken |
Vector3f | mSuspendedVelocity |
Quaternion | mSuspendedOrientationVelocity |
JSContextStruct * | mContext |
String | mQuery |
ContextVector | associatedContexts |
Sirikata::JS::JSPresenceStruct::JSPresenceStruct | ( | EmersonScript * | parent, |
v8::Handle< v8::Function > | onConnected, | ||
JSContextStruct * | ctx, | ||
HostedObject::PresenceToken | presenceToken, | ||
JSCtx * | jsctx | ||
) |
References mContext, and Sirikata::JS::JSContextStruct::struct_registerSuspendable().
Sirikata::JS::JSPresenceStruct::JSPresenceStruct | ( | EmersonScript * | parent, |
const SpaceObjectReference & | _sporef, | ||
JSContextStruct * | ctx, | ||
HostedObject::PresenceToken | presenceToken, | ||
JSCtx * | jsctx | ||
) |
References mContext, and Sirikata::JS::JSContextStruct::struct_registerSuspendable().
Sirikata::JS::JSPresenceStruct::JSPresenceStruct | ( | EmersonScript * | parent, |
PresStructRestoreParams & | psrp, | ||
Vector3f | center, | ||
HostedObject::PresenceToken | presToken, | ||
JSContextStruct * | jscont, | ||
const TimedMotionVector3f & | tmv, | ||
const TimedMotionQuaternion & | tmq, | ||
JSCtx * | jsctx | ||
) |
References clear(), Sirikata::JS::PresStructRestoreParams::connCallback, Sirikata::JS::PresStructRestoreParams::contID, Sirikata::Logging::fatal, Sirikata::JS::JSContextStruct::getContextID(), Sirikata::Nullable< nullable >::getValue(), hasConnectedCallback, Sirikata::JS::PresStructRestoreParams::isCleared, Sirikata::Nullable< nullable >::isNull(), Sirikata::JS::PresStructRestoreParams::isSuspended, Sirikata::JS::JSPositionListener::jpp, JSLOG, mContext, mContID, Sirikata::JS::PresStructRestoreParams::mesh, mOnConnectedCallback, mQuery, mSuspendedOrientationVelocity, mSuspendedVelocity, Sirikata::JS::PresStructRestoreParams::physics, Sirikata::JS::PresStructRestoreParams::query, Sirikata::JS::EmersonScript::registerFixupSuspendable(), Sirikata::JS::PresStructRestoreParams::scale, Sirikata::JS::JSContextStruct::struct_registerSuspendable(), suspend(), Sirikata::JS::PresStructRestoreParams::suspendedOrientationVelocity, and Sirikata::JS::PresStructRestoreParams::suspendedVelocity.
Sirikata::JS::JSPresenceStruct::~JSPresenceStruct | ( | ) |
References clear(), and Sirikata::Liveness::letDie().
void Sirikata::JS::JSPresenceStruct::addAssociatedContext | ( | JSContextStruct * | toAdd | ) |
References associatedContexts.
void Sirikata::JS::JSPresenceStruct::callConnectedCallback | ( | ) | [private] |
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::clear | ( | ) | [virtual] |
Reimplemented from Sirikata::JS::JSSuspendable.
References associatedContexts, disconnect(), Sirikata::JS::JSSuspendable::getIsCleared(), getIsConnected(), mContext, and Sirikata::JS::JSContextStruct::struct_deregisterSuspendable().
Referenced by JSPresenceStruct(), Sirikata::JS::JSContextStruct::struct_rootReset(), and ~JSPresenceStruct().
void Sirikata::JS::JSPresenceStruct::clearPreviousConnectedCB | ( | ) | [private] |
References hasConnectedCallback, and mOnConnectedCallback.
Referenced by disconnect(), and setConnectedCB().
void Sirikata::JS::JSPresenceStruct::connect | ( | const SpaceObjectReference & | _sporef | ) |
{SpaceObjectReference} | _sporef The new sporef for this object now that it is connected. |
{JSProxyPtr} | newJPP Before this presenceStruct was connected, we didn't have a sporef, and therefore, had to use an empty proxy ptr in the positionlistener for this presence. Now that we know sporef, we also know the proxy ptr should set in position listener. |
References callConnectedCallback(), Sirikata::Logging::error, getIsConnected(), Sirikata::JS::JSVisibleManager::getOrCreateVisible(), isConnected, Sirikata::JS::JSPositionListener::jpp, JSLOG, Sirikata::JS::EmersonScript::jsVisMan, and mParent.
Referenced by Sirikata::JS::EmersonScript::callbackUnconnected().
JSPresenceStruct * Sirikata::JS::JSPresenceStruct::decodePresenceStruct | ( | v8::Handle< v8::Value > | toDecode, |
String & | errorMessage | ||
) | [static] |
References PRESENCE_FIELD_COUNT, and PRESENCE_FIELD_PRESENCE.
Referenced by Sirikata::JS::decodeJSPosListener(), Sirikata::JS::JSVisible::getOref(), Sirikata::JS::JSSystem::root_createContext(), Sirikata::JS::JSSystem::sendMessage(), Sirikata::JS::JSSerializer::serializePresence(), and Sirikata::JS::InvokableUtil::V8ToAny().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::disconnect | ( | ) |
References clearPreviousConnectedCB(), mParent, and Sirikata::JS::EmersonScript::requestDisconnect().
Referenced by clear(), and Sirikata::JS::JSPresence::pres_disconnect().
v8::Handle<v8::Value> Sirikata::JS::JSPresenceStruct::doneRestoring | ( | ) |
virtual void Sirikata::JS::JSPresenceStruct::fixupSuspendable | ( | ) | [inline, virtual] |
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::getAllData | ( | ) |
References Sirikata::JS::CreateJSResult(), Sirikata::JS::JSContextStruct::getContextID(), Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::JS::JSSuspendable::getIsSuspended(), isConnected, mContext, mOnConnectedCallback, mSuspendedOrientationVelocity, mSuspendedVelocity, Sirikata::Path::Set(), Sirikata::JS::JSPositionListener::struct_getAllData(), and struct_getQuery().
Referenced by Sirikata::JS::JSPresence::getAllData().
bool Sirikata::JS::JSPresenceStruct::getIsConnected | ( | ) |
References isConnected.
Referenced by clear(), connect(), Sirikata::JS::EmersonScript::deletePres(), Sirikata::JS::JSPresence::getIsConnected(), and markDisconnected().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::getIsConnectedV8 | ( | ) |
References isConnected.
Referenced by Sirikata::JS::JSPresence::isConnectedGetter().
HostedObject::PresenceToken Sirikata::JS::JSPresenceStruct::getPresenceToken | ( | ) |
References mPresenceToken.
String Sirikata::JS::JSPresenceStruct::getQuery | ( | ) |
References Sirikata::JS::EmersonScript::getQuery(), isConnected, Sirikata::JS::JSPositionListener::jpp, mParent, and mQuery.
Referenced by struct_getQuery().
void Sirikata::JS::JSPresenceStruct::handleDisconnectedCallback | ( | ) |
void Sirikata::JS::JSPresenceStruct::markDisconnected | ( | ) |
References Sirikata::Logging::error, Sirikata::JS::JSSuspendable::getIsCleared(), getIsConnected(), isConnected, and JSLOG.
Referenced by Sirikata::JS::EmersonScript::iOnDisconnected().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::resume | ( | ) | [virtual] |
Reimplemented from Sirikata::JS::JSSuspendable.
References Sirikata::JS::JSSuspendable::getIsSuspended(), mSuspendedOrientationVelocity, mSuspendedVelocity, setOrientationVelFunction(), and struct_setVelocity().
Referenced by Sirikata::JS::JSPresence::pres_resume().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::runSimulation | ( | String | simname | ) |
References Sirikata::JS::JSPositionListener::getSporef(), Sirikata::JS::Capabilities::GUI, INLINE_CHECK_CAPABILITY_ERROR, JSSIMOBJECT_JSOBJSCRIPT_FIELD, JSSIMOBJECT_SIMULATION_FIELD, JSSIMOBJECT_TYPEID_STRING, mParent, Sirikata::JS::EmersonScript::runSimulation(), and TYPEID_FIELD.
Referenced by Sirikata::JS::JSPresence::runSimulation().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setConnectedCB | ( | v8::Handle< v8::Function > | newCB | ) |
References clearPreviousConnectedCB(), hasConnectedCallback, and mOnConnectedCallback.
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setOrientationFunction | ( | Quaternion | newOrientation | ) |
References Sirikata::JS::EmersonScript::getHostedTime(), Sirikata::JS::JSPositionListener::getSporef(), INLINE_CHECK_CAPABILITY_ERROR, INLINE_CHECK_IS_CONNECTED_ERROR, Sirikata::JS::JSPositionListener::jpp, Sirikata::JS::Capabilities::MOVEMENT, mParent, Sirikata::JS::EmersonScript::setOrientation(), Sirikata::JS::JSPresence::setPosition(), and Sirikata::TimedMotionQuaternion::velocity().
Referenced by Sirikata::JS::JSPresence::setOrientation().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setOrientationVelFunction | ( | Quaternion | newOrientationVel | ) |
References Sirikata::JS::EmersonScript::getHostedTime(), Sirikata::JS::JSPositionListener::getSporef(), INLINE_CHECK_CAPABILITY_ERROR, INLINE_CHECK_IS_CONNECTED_ERROR, Sirikata::JS::JSPositionListener::jpp, Sirikata::JS::Capabilities::MOVEMENT, mParent, Sirikata::TimedMotionQuaternion::position(), Sirikata::JS::EmersonScript::setOrientation(), and Sirikata::JS::JSPresence::setOrientationVel().
Referenced by resume(), Sirikata::JS::JSPresence::setOrientationVel(), and suspend().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setPhysicsFunction | ( | const String & | loc | ) |
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setQueryFunction | ( | const String & | new_query | ) |
References Sirikata::JS::JSPositionListener::getSporef(), INLINE_CHECK_CAPABILITY_ERROR, INLINE_CHECK_IS_CONNECTED_ERROR, mParent, mQuery, Sirikata::JS::Capabilities::PROX_QUERIES, Sirikata::JS::JSPresence::setQuery(), and Sirikata::JS::EmersonScript::setQueryFunction().
Referenced by Sirikata::JS::JSPresence::setQuery().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setVisualFunction | ( | String | urilocation | ) |
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::setVisualScaleFunction | ( | float | new_scale | ) |
References Sirikata::JS::JSPositionListener::getSporef(), INLINE_CHECK_CAPABILITY_ERROR, INLINE_CHECK_IS_CONNECTED_ERROR, Sirikata::JS::JSPositionListener::jpp, Sirikata::JS::Capabilities::MESH, mParent, Sirikata::JS::EmersonScript::setBounds(), and Sirikata::JS::JSPresence::setScale().
Referenced by Sirikata::JS::JSPresence::setScale().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::struct_getQuery | ( | ) |
References getQuery(), and INLINE_CHECK_IS_CONNECTED_ERROR.
Referenced by getAllData(), and Sirikata::JS::JSPresence::getQuery().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::struct_setPosition | ( | Vector3f | newPos | ) |
References Sirikata::JS::EmersonScript::getHostedTime(), Sirikata::JS::JSPositionListener::getSporef(), INLINE_CHECK_CAPABILITY_ERROR, INLINE_CHECK_IS_CONNECTED_ERROR, Sirikata::JS::JSPositionListener::jpp, Sirikata::JS::Capabilities::MOVEMENT, mParent, Sirikata::JS::EmersonScript::setLocation(), Sirikata::JS::JSPresence::setPosition(), and Sirikata::TimedMotionVector< MotionVectorType >::velocity().
Referenced by Sirikata::JS::JSPresence::setPosition().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::struct_setVelocity | ( | const Vector3f & | newVel | ) |
References Sirikata::JS::EmersonScript::getHostedTime(), Sirikata::JS::JSPositionListener::getSporef(), INLINE_CHECK_CAPABILITY_ERROR, INLINE_CHECK_IS_CONNECTED_ERROR, Sirikata::JS::JSPositionListener::jpp, Sirikata::JS::Capabilities::MOVEMENT, mParent, Sirikata::TimedMotionVector< MotionVectorType >::position(), Sirikata::JS::EmersonScript::setLocation(), and Sirikata::JS::JSPresence::setVelocity().
Referenced by resume(), Sirikata::JS::JSPresence::setVelocity(), and suspend().
v8::Handle< v8::Value > Sirikata::JS::JSPresenceStruct::suspend | ( | ) | [virtual] |
Reimplemented from Sirikata::JS::JSSuspendable.
References Sirikata::JS::JSSuspendable::getIsSuspended(), Sirikata::JS::JSSuspendable::getIsSuspendedV8(), Sirikata::JS::JSPositionListener::getOrientationVelocity(), Sirikata::JS::JSPositionListener::getVelocity(), mSuspendedOrientationVelocity, mSuspendedVelocity, setOrientationVelFunction(), and struct_setVelocity().
Referenced by JSPresenceStruct(), and Sirikata::JS::JSPresence::pres_suspend().
v8::Handle<v8::Value> Sirikata::JS::JSPresenceStruct::toString | ( | ) | [inline] |
References Sirikata::JS::JSPositionListener::getSporef(), and Sirikata::SpaceObjectReference::toString().
Referenced by Sirikata::JS::JSPresence::toString().
v8::Local< v8::Object > Sirikata::JS::JSPresenceStruct::toVisible | ( | ) |
References mContext, mParent, and Sirikata::JS::EmersonScript::presToVis().
Referenced by Sirikata::JS::JSPresence::toVisible().
Referenced by addAssociatedContext(), and clear().
bool Sirikata::JS::JSPresenceStruct::hasConnectedCallback [private] |
Referenced by callConnectedCallback(), clearPreviousConnectedCB(), JSPresenceStruct(), and setConnectedCB().
bool Sirikata::JS::JSPresenceStruct::isConnected [private] |
Referenced by connect(), getAllData(), getIsConnected(), getIsConnectedV8(), getQuery(), and markDisconnected().
Referenced by callConnectedCallback(), clear(), getAllData(), handleDisconnectedCallback(), JSPresenceStruct(), and toVisible().
uint32 Sirikata::JS::JSPresenceStruct::mContID [private] |
Referenced by JSPresenceStruct().
v8::Persistent<v8::Function> Sirikata::JS::JSPresenceStruct::mOnConnectedCallback |
Referenced by callConnectedCallback(), clearPreviousConnectedCB(), getAllData(), JSPresenceStruct(), and setConnectedCB().
Referenced by getPresenceToken().
String Sirikata::JS::JSPresenceStruct::mQuery [private] |
Referenced by getQuery(), JSPresenceStruct(), and setQueryFunction().
Referenced by getAllData(), JSPresenceStruct(), resume(), and suspend().
Vector3f Sirikata::JS::JSPresenceStruct::mSuspendedVelocity [private] |
Referenced by getAllData(), JSPresenceStruct(), resume(), and suspend().