Torque2D Reference
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | List of all members
Scene Class Reference


More...

#include <Scene.h>

+ Inheritance diagram for Scene:

Public Types

enum  DebugOption {
  SCENE_DEBUG_INVALID, SCENE_DEBUG_METRICS = BIT(0), SCENE_DEBUG_FPS_METRICS = BIT(1), SCENE_DEBUG_CONTROLLERS = BIT(2),
  SCENE_DEBUG_JOINTS = BIT(3), SCENE_DEBUG_WIREFRAME_RENDER = BIT(4), SCENE_DEBUG_AABB = BIT(16), SCENE_DEBUG_OOBB = BIT(17),
  SCENE_DEBUG_SLEEP = BIT(18), SCENE_DEBUG_COLLISION_SHAPES = BIT(19), SCENE_DEBUG_POSITION_AND_COM = BIT(20), SCENE_DEBUG_SORT_POINTS = BIT(21)
}
 Scene Debug Options. More...
 
enum  PickMode {
  PICK_INVALID, PICK_ANY, PICK_AABB, PICK_OOBB,
  PICK_COLLISION
}
 Pick mode. More...
 
typedef HashMap< S32, b2Joint * > typeJointHash
 
typedef HashMap< U32, S32 > typeReverseJointHash
 
typedef Vector< tDeleteRequesttypeDeleteVector
 
typedef Vector< TickContacttypeContactVector
 
typedef HashMap< b2Contact
*, TickContact
typeContactHash
 
typedef Vector< AssetPtr
< AssetBase > * > 
typeAssetPtrVector
 
- Public Types inherited from BehaviorComponent
typedef Vector
< BehaviorPortConnection
typePortConnectionVector
 
typedef HashMap
< StringTableEntry,
typePortConnectionVector * > 
typeOutputNameConnectionHash
 
typedef HashMap< SimObjectId,
typeOutputNameConnectionHash * > 
typeInstanceConnectionHash
 
- Public Types inherited from PhysicsProxy
enum  ePhysicsProxyType { PHYSIC_PROXY_INVALID, PHYSIC_PROXY_CUSTOM, PHYSIC_PROXY_SCENEOBJECT, PHYSIC_PROXY_GROUNDBODY }
 

Public Member Functions

 Scene ()
 
virtual ~Scene ()
 
virtual bool onAdd ()
 Engine. More...
 
virtual void onRemove ()
 Called when the object is removed from the sim. More...
 
virtual void onDeleteNotify (SimObject *object)
 
virtual void PreSolve (b2Contact *pContact, const b2Manifold *pOldManifold)
 Contact processing. More...
 
virtual void PostSolve (b2Contact *pContact, const b2ContactImpulse *pImpulse)
 
virtual void BeginContact (b2Contact *pContact)
 
virtual void EndContact (b2Contact *pContact)
 
const typeContactHashgetBeginContacts (void) const
 
const typeContactVectorgetEndContacts (void) const
 
virtual void processTick ()
 Integration. More...
 
virtual void interpolateTick (F32 delta)
 
virtual void advanceTime (F32 timeDelta)
 
void sceneRender (const SceneRenderState *pSceneRenderState)
 Render output. More...
 
b2World * getWorld (void) const
 World. More...
 
WorldQuerygetWorldQuery (const bool clearQuery=false)
 
b2BlockAllocator * getBlockAllocator (void)
 
b2Body * getGroundBody (void) const
 
virtual ePhysicsProxyType getPhysicsProxyType (void) const
 
void setGravity (const b2Vec2 &gravity)
 
b2Vec2 getGravity (void)
 
void setVelocityIterations (const S32 iterations)
 
S32 getVelocityIterations (void) const
 
void setPositionIterations (const S32 iterations)
 
S32 getPositionIterations (void) const
 
void clearScene (bool deleteObjects=true)
 Scene occupancy. More...
 
void addToScene (SceneObject *pSceneObject)
 
void removeFromScene (SceneObject *pSceneObject)
 
typeSceneObjectVectorConstRef getSceneObjects (void) const
 
U32 getSceneObjectCount (void) const
 
SceneObjectgetSceneObject (const U32 objectIndex) const
 
U32 getSceneObjects (typeSceneObjectVector &objects) const
 
U32 getSceneObjects (typeSceneObjectVector &objects, const U32 sceneLayer) const
 
void mergeScene (const Scene *pScene)
 
SimSetgetControllers (void)
 
S32 getAssetPreloadCount (void) const
 
const AssetPtr< AssetBase > * getAssetPreload (const S32 index) const
 
void addAssetPreload (const char *pAssetId)
 
void removeAssetPreload (const char *pAssetId)
 
void clearAssetPreloads (void)
 
F32 getSceneTime (void) const
 Scene time. More...
 
void setScenePause (bool status)
 
bool getScenePause (void) const
 
U32 getJointCount (void) const
 Joint access. More...
 
b2JointType getJointType (const S32 jointId)
 
b2Joint * findJoint (const S32 jointId)
 
S32 findJointId (b2Joint *pJoint)
 
S32 createJoint (b2JointDef *pJointDef)
 
bool deleteJoint (const U32 jointId)
 
bool hasJoints (SceneObject *pSceneObject)
 
S32 createDistanceJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA=b2Vec2_zero, const b2Vec2 &localAnchorB=b2Vec2_zero, const F32 length=-1.0f, const F32 frequency=0.0f, const F32 dampingRatio=0.0f, const bool collideConnected=false)
 Distance joint. More...
 
void setDistanceJointLength (const U32 jointId, const F32 length)
 
F32 getDistanceJointLength (const U32 jointId)
 
void setDistanceJointFrequency (const U32 jointId, const F32 frequency)
 
F32 getDistanceJointFrequency (const U32 jointId)
 
void setDistanceJointDampingRatio (const U32 jointId, const F32 dampingRatio)
 
F32 getDistanceJointDampingRatio (const U32 jointId)
 
S32 createRopeJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA=b2Vec2_zero, const b2Vec2 &localAnchorB=b2Vec2_zero, const F32 maxLength=-1.0f, const bool collideConnected=false)
 Rope joint. More...
 
void setRopeJointMaxLength (const U32 jointId, const F32 maxLength)
 
F32 getRopeJointMaxLength (const U32 jointId)
 
S32 createRevoluteJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA=b2Vec2_zero, const b2Vec2 &localAnchorB=b2Vec2_zero, const bool collideConnected=false)
 Revolute joint. More...
 
void setRevoluteJointLimit (const U32 jointId, const bool enableLimit, const F32 lowerAngle, const F32 upperAngle)
 
bool getRevoluteJointLimit (const U32 jointId, bool &enableLimit, F32 &lowerAngle, F32 &upperAngle)
 
void setRevoluteJointMotor (const U32 jointId, const bool enableMotor, const F32 motorSpeed=b2_pi, const F32 maxMotorTorque=0.0f)
 
bool getRevoluteJointMotor (const U32 jointId, bool &enableMotor, F32 &motorSpeed, F32 &maxMotorTorque)
 
F32 getRevoluteJointAngle (const U32 jointId)
 
F32 getRevoluteJointSpeed (const U32 jointId)
 
S32 createWeldJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA=b2Vec2_zero, const b2Vec2 &localAnchorB=b2Vec2_zero, const F32 frequency=0.0f, const F32 dampingRatio=0.0f, const bool collideConnected=false)
 Weld joint. More...
 
void setWeldJointFrequency (const U32 jointId, const F32 frequency)
 
F32 getWeldJointFrequency (const U32 jointId)
 
void setWeldJointDampingRatio (const U32 jointId, const F32 dampingRatio)
 
F32 getWeldJointDampingRatio (const U32 jointId)
 
S32 createWheelJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA, const b2Vec2 &localAnchorB, const b2Vec2 &worldAxis, const bool collideConnected=false)
 Wheel joint. More...
 
void setWheelJointMotor (const U32 jointId, const bool enableMotor, const F32 motorSpeed=b2_pi, const F32 maxMotorTorque=0.0f)
 
bool getWheelJointMotor (const U32 jointId, bool &enableMotor, F32 &motorSpeed, F32 &maxMotorTorque)
 
void setWheelJointFrequency (const U32 jointId, const F32 frequency)
 
F32 getWheelJointFrequency (const U32 jointId)
 
void setWheelJointDampingRatio (const U32 jointId, const F32 dampingRatio)
 
F32 getWheelJointDampingRatio (const U32 jointId)
 
S32 createFrictionJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA=b2Vec2_zero, const b2Vec2 &localAnchorB=b2Vec2_zero, const F32 maxForce=0.0f, const F32 maxTorque=0.0f, const bool collideConnected=false)
 Friction joint. More...
 
void setFrictionJointMaxForce (const U32 jointId, const F32 maxForce)
 
F32 getFrictionJointMaxForce (const U32 jointId)
 
void setFrictionJointMaxTorque (const U32 jointId, const F32 maxTorque)
 
F32 getFrictionJointMaxTorque (const U32 jointId)
 
S32 createPrismaticJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA, const b2Vec2 &localAnchorB, const b2Vec2 &worldAxis, const bool collideConnected=false)
 Prismatic joint. More...
 
void setPrismaticJointLimit (const U32 jointId, const bool enableLimit, const F32 lowerTranslation, const F32 upperTranslation)
 
bool getPrismaticJointLimit (const U32 jointId, bool &enableLimit, F32 &lowerTranslation, F32 &upperTranslation)
 
void setPrismaticJointMotor (const U32 jointId, const bool enableMotor, const F32 motorSpeed=b2_pi, const F32 maxMotorForce=0.0f)
 
bool getPrismaticJointMotor (const U32 jointId, bool &enableMotor, F32 &motorSpeed, F32 &maxMotorTorque)
 
S32 createPulleyJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 &localAnchorA, const b2Vec2 &localAnchorB, const b2Vec2 &worldGroundAnchorA, const b2Vec2 &worldGroundAnchorB, const F32 ratio, const F32 lengthA=-1.0f, const F32 lengthB=-1.0f, const bool collideConnected=false)
 Pulley joint. More...
 
S32 createTargetJoint (const SceneObject *pSceneObject, const b2Vec2 &worldTarget, const F32 maxForce, const bool useCenterOfMass=false, const F32 frequency=5.0f, const F32 dampingRatio=0.7f, const bool collideConnected=false)
 Target (a.k.a Mouse) joint. More...
 
void setTargetJointTarget (const U32 jointId, const b2Vec2 &worldTarget)
 
b2Vec2 getTargetJointTarget (const U32 jointId)
 
void setTargetJointMaxForce (const U32 jointId, const F32 maxForce)
 
F32 getTargetJointMaxForce (const U32 jointId)
 
void setTargetJointFrequency (const U32 jointId, const F32 frequency)
 
F32 getTargetJointFrequency (const U32 jointId)
 
void setTargetJointDampingRatio (const U32 jointId, const F32 dampingRatio)
 
F32 getTargetJointDampingRatio (const U32 jointId)
 
S32 createMotorJoint (const SceneObject *pSceneObjectA, const SceneObject *pSceneObjectB, const b2Vec2 linearOffset=b2Vec2_zero, const F32 angularOffset=0.0f, const F32 maxForce=1.0f, const F32 maxTorque=1.0f, const F32 correctionFactor=0.3f, const bool collideConnected=false)
 Motor Joint. More...
 
void setMotorJointLinearOffset (const U32 jointId, const b2Vec2 &linearOffset)
 
b2Vec2 getMotorJointLinearOffset (const U32 jointId)
 
void setMotorJointAngularOffset (const U32 jointId, const F32 angularOffset)
 
F32 getMotorJointAngularOffset (const U32 jointId)
 
void setMotorJointMaxForce (const U32 jointId, const F32 maxForce)
 
F32 getMotorJointMaxForce (const U32 jointId)
 
void setMotorJointMaxTorque (const U32 jointId, const F32 maxTorque)
 
F32 getMotorJointMaxTorque (const U32 jointId)
 
void setDebugOn (const U32 debugMask)
 Debug and metrics. More...
 
void setDebugOff (const U32 debugMask)
 
U32 getDebugMask (void) const
 
DebugStatsgetDebugStats (void)
 
void resetDebugStats (void)
 
void setDebugSceneObject (SceneObject *pSceneObject)
 
SceneObjectgetDebugSceneObject (void) const
 
void setLayerSortMode (const U32 layer, const SceneRenderQueue::RenderSort sortMode)
 Layer sorting. More...
 
SceneRenderQueue::RenderSort getLayerSortMode (const U32 layer)
 
void attachSceneWindow (SceneWindow *pSceneWindow2D)
 Window attachments. More...
 
void detachSceneWindow (SceneWindow *pSceneWindow2D)
 
void detachAllSceneWindows (void)
 
bool isSceneWindowAttached (SceneWindow *pSceneWindow2D)
 
SimSetgetAttachedSceneWindows (void)
 
void addDeleteRequest (SceneObject *pSceneObject)
 Delete requests. More...
 
void processDeleteRequests (const bool forceImmediate)
 
virtual void SayGoodbye (b2Joint *pJoint)
 Destruction listeners. More...
 
virtual void SayGoodbye (b2Fixture *pFixture)
 
virtual SceneObjectcreate (const char *pType)
 
void setBatchingEnabled (const bool enabled)
 Miscellaneous. More...
 
bool getBatchingEnabled (void) const
 
bool getIsEditorScene (void) const
 
void setIsEditorScene (bool status)
 
U32 getSceneIndex (void) const
 
void setUpdateCallback (const bool callback)
 
bool getUpdateCallback (void) const
 
void setRenderCallback (const bool callback)
 
bool getRenderCallback (void) const
 
virtual U32 getTamlChildCount (void) const
 Taml children. More...
 
virtual SimObjectgetTamlChild (const U32 childIndex) const
 Called when Taml attempts to compile a list of children. More...
 
virtual void addTamlChild (SimObject *pSimObject)
 Called when Taml attempts to populate an objects children during a read. More...
 
 DECLARE_CONOBJECT (Scene)
 Declare Console Object. More...
 
- Public Member Functions inherited from BehaviorComponent
 BehaviorComponent ()
 
virtual ~BehaviorComponent ()
 
virtual void copyTo (SimObject *object)
 
BehaviorInstancegetBehaviorByInstanceId (const U32 behaviorId)
 Behavior interface. More...
 
virtual bool addBehavior (BehaviorInstance *bi)
 
virtual bool removeBehavior (BehaviorInstance *bi, bool deleteBehavior=true)
 
virtual void clearBehaviors ()
 
virtual U32 getBehaviorCount () const
 
virtual const SimSetgetBehaviors () const
 
virtual BehaviorInstancegetBehavior (StringTableEntry behaviorTemplateName)
 
virtual BehaviorInstancegetBehavior (const U32 index)
 
virtual bool reOrder (BehaviorInstance *obj, U32 desiredIndex)
 
bool connect (BehaviorInstance *pOutputBehavior, BehaviorInstance *pInputBehavior, StringTableEntry pOutputName, StringTableEntry pInputName)
 Behavior connectivity. More...
 
bool disconnect (BehaviorInstance *pOutputBehavior, BehaviorInstance *pInputBehavior, StringTableEntry pOutputName, StringTableEntry pInputName)
 
bool raise (BehaviorInstance *pOutputBehavior, StringTableEntry pOutputName)
 
U32 getBehaviorConnectionCount (BehaviorInstance *pOutputBehavior, StringTableEntry pOutputName)
 
const BehaviorPortConnectiongetBehaviorConnection (BehaviorInstance *pOutputBehavior, StringTableEntry pOutputName, const U32 connectionIndex)
 
const typePortConnectionVectorgetBehaviorConnections (BehaviorInstance *pOutputBehavior, StringTableEntry pOutputName)
 
virtual bool handlesConsoleMethod (const char *fname, S32 *routingId)
 DynamicConsoleMethodComponent Overrides. More...
 
virtual const char * callOnBehaviors (U32 argc, const char *argv[])
 
virtual void write (Stream &stream, U32 tabStop, U32 flags=0)
 SimComponent overrides. More...
 
 DECLARE_CONOBJECT (BehaviorComponent)
 
- Public Member Functions inherited from DynamicConsoleMethodComponent
const char * callMethod (S32 argc, const char *methodName,...)
 Call Method format string. More...
 
virtual const char * callMethodArgList (U32 argc, const char *argv[], bool callThis=true)
 Call Method. More...
 
 DECLARE_CONOBJECT (DynamicConsoleMethodComponent)
 
- Public Member Functions inherited from SimComponent
 DECLARE_CONOBJECT (SimComponent)
 
 SimComponent ()
 
virtual ~SimComponent ()
 
virtual bool processArguments (S32 argc, const char **argv)
 Process constructor options. (ie, new SimObject(1,2,3)) More...
 
bool hasComponents () const
 Will return true if this object contains components. More...
 
const SimComponentgetOwner () const
 The component which owns this object. More...
 
virtual StringTableEntry getComponentName ()
 
virtual bool addComponent (SimComponent *component)
 Add Component to this one. More...
 
virtual bool removeComponent (SimComponent *component)
 Remove Component from this one. More...
 
virtual bool clearComponents ()
 Clear Child components of this one. More...
 
virtual bool onComponentAdd (SimComponent *target)
 
virtual void onComponentRemove (SimComponent *target)
 
U32 getComponentCount ()
 
SimComponentgetComponent (const U32 index)
 
virtual void setEnabled (const bool enabled)
 
bool isEnabled () const
 
virtual bool writeField (StringTableEntry fieldname, const char *value)
 
virtual void onUpdate (void)
 
virtual void onAddToScene (void)
 
virtual void onRemoveFromScene (void)
 
bool callMethodOnComponents (U32 argc, const char *argv[], const char **result)
 
- Public Member Functions inherited from SimObject
StringTableEntry getClassNamespace () const
 
StringTableEntry getSuperClassNamespace () const
 
void setClassNamespace (const char *classNamespace)
 
void setSuperClassNamespace (const char *superClassNamespace)
 
void pushScriptCallbackGuard (void)
 
void popScriptCallbackGuard (void)
 
S32 getScriptCallbackGuard (void)
 
virtual SimObjectfindObject (const char *name)
 
NamespacegetNamespace ()
 Return the object's namespace. More...
 
const char * tabComplete (const char *prevText, S32 baseLen, bool)
 
virtual void dump ()
 
virtual void dumpClassHierarchy ()
 
SimObjectclone (const bool copyDynamicFields)
 
template<typename T >
bool isType (void)
 
 DECLARE_CONOBJECT (SimObject)
 
NotifyremoveNotify (void *ptr, Notify::Type)
 Remove a notification from the list. More...
 
void deleteNotify (SimObject *obj)
 Notify an object when we are deleted. More...
 
void clearNotify (SimObject *obj)
 Notify an object when we are cleared. More...
 
void clearAllNotifications ()
 Remove all notifications for this object. More...
 
void processDeleteNotifies ()
 Send out deletion notifications. More...
 
void registerReference (SimObject **obj)
 
void unregisterReference (SimObject **obj)
 
const char * getDataField (StringTableEntry slotName, const char *array)
 
void setDataField (StringTableEntry slotName, const char *array, const char *value)
 
const char * getPrefixedDataField (StringTableEntry fieldName, const char *array)
 
void setPrefixedDataField (StringTableEntry fieldName, const char *array, const char *value)
 
const char * getPrefixedDynamicDataField (StringTableEntry fieldName, const char *array, const S32 fieldType=-1)
 
void setPrefixedDynamicDataField (StringTableEntry fieldName, const char *array, const char *value, const S32 fieldType=-1)
 
StringTableEntry getDataFieldPrefix (StringTableEntry fieldName)
 
U32 getDataFieldType (StringTableEntry slotName, const char *array)
 
SimFieldDictionarygetFieldDictionary ()
 
void clearDynamicFields (void)
 Clear all dynamic fields. More...
 
void setCanSaveDynamicFields (bool bCanSave)
 Set whether fields created at runtime should be saved. Default is true. More...
 
bool getCanSaveDynamicFields (void) const
 Get whether fields created at runtime should be saved. Default is true. More...
 
void setInternalName (const char *newname)
 
StringTableEntry getInternalName ()
 Get the internal of of this control. More...
 
virtual bool save (const char *pcFilePath, bool bOnlySelected=false)
 Save object as a TorqueScript File. More...
 
virtual bool isMethod (const char *methodName)
 Check if a method exists in the objects current namespace. More...
 
SimObjectId getId (void) const
 
StringTableEntry getIdString (void) const
 
U32 getType () const
 
const StringTableEntry getName (void) const
 
void setId (SimObjectId id)
 
void assignName (const char *name)
 
SimGroupgetGroup () const
 
bool isChildOfGroup (SimGroup *pGroup)
 
bool isProperlyAdded () const
 
bool isDeleted () const
 
bool isRemoved () const
 
bool isLocked ()
 
void setLocked (bool b)
 
bool isHidden ()
 
void setHidden (bool b)
 
void setProgenitorFile (const char *pFile)
 
StringTableEntry getProgenitorFile (void) const
 
void setPeriodicTimerID (const S32 timerID)
 
S32 getPeriodicTimerID (void) const
 
bool isPeriodicTimerActive (void) const
 
bool isSelected () const
 
bool isExpanded () const
 
void setSelected (bool sel)
 
void setExpanded (bool exp)
 
void setModDynamicFields (bool dyn)
 
void setModStaticFields (bool sta)
 
 SimObject (const U8 namespaceLinkMask=LinkSuperClassName|LinkClassName)
 
virtual ~SimObject ()
 
virtual void onGroupAdd ()
 Called when the object is added to a SimGroup. More...
 
virtual void onGroupRemove ()
 Called when the object is removed from a SimGroup. More...
 
virtual void onNameChange (const char *name)
 Called when the object's name is changed. More...
 
virtual void onStaticModified (const char *slotName, const char *newValue=NULL)
 
virtual void inspectPreApply ()
 
virtual void inspectPostApply ()
 
virtual void onEditorEnable ()
 Called when the editor is activated. More...
 
virtual void onEditorDisable ()
 Called when the editor is deactivated. More...
 
bool registerObject ()
 
bool registerObject (U32 id)
 
bool registerObject (const char *name)
 
bool registerObject (const char *name, U32 id)
 
void unregisterObject ()
 
void deleteObject ()
 
bool addToSet (SimObjectId)
 
bool addToSet (const char *)
 
bool removeFromSet (SimObjectId)
 
bool removeFromSet (const char *)
 
virtual void writeFields (Stream &stream, U32 tabStop)
 
virtual bool writeObject (Stream *stream)
 
virtual bool readObject (Stream *stream)
 
virtual void buildFilterList ()
 
void addFieldFilter (const char *fieldName)
 
void removeFieldFilter (const char *fieldName)
 
void clearFieldFilters ()
 
bool isFiltered (const char *fieldName)
 
void assignFieldsFrom (SimObject *obj)
 
void assignDynamicFieldsFrom (SimObject *obj)
 
- Public Member Functions inherited from ConsoleObject
const AbstractClassRep::FieldfindField (StringTableEntry fieldName) const
 Get a reference to a field by name. More...
 
virtual AbstractClassRepgetClassRep () const
 Gets the ClassRep. More...
 
bool setField (const char *fieldName, const char *value)
 Set the value of a field. More...
 
virtual ~ConsoleObject ()
 
const AbstractClassRep::FieldListgetFieldList () const
 Get a list of all the fields. This information cannot be modified. More...
 
AbstractClassRep::FieldListgetModifiableFieldList ()
 
bool & getDynamicGroupExpand ()
 
S32 getClassId (U32 netClassGroup) const
 
const char * getClassName () const
 
- Public Member Functions inherited from PhysicsProxy
 PhysicsProxy ()
 
virtual ~PhysicsProxy ()
 
- Public Member Functions inherited from Tickable
 Tickable ()
 
virtual ~Tickable ()
 
virtual bool isProcessingTicks () const
 
virtual void setProcessTicks (bool tick=true)
 

Static Public Member Functions

static void initPersistFields ()
 
static U32 getGlobalSceneCount (void)
 
static SceneRenderRequestcreateDefaultRenderRequest (SceneRenderQueue *pSceneRenderQueue, SceneObject *pSceneObject)
 
static b2JointType getJointTypeEnum (const char *label)
 
static const char * getJointTypeDescription (b2JointType jointType)
 
static PickMode getPickModeEnum (const char *label)
 
static const char * getPickModeDescription (PickMode pickMode)
 
static DebugOption getDebugOptionEnum (const char *label)
 
static const char * getDebugOptionDescription (DebugOption debugOption)
 
- Static Public Member Functions inherited from Tickable
static bool advanceTime (U32 timeDelta)
 

Public Attributes

DebugDraw mDebugDraw
 Debug drawing. More...
 
- Public Attributes inherited from BehaviorComponent
typeInstanceConnectionHash mBehaviorConnections
 

Static Public Attributes

static SimObjectPtr< SceneLoadingScene = NULL
 
- Static Public Attributes inherited from Tickable
static const U32 smTickShift = 4
 Shift value to control how often Ticks occur. More...
 
static const U32 smTickMs = ( 1 << smTickShift )
 Number of milliseconds per tick, 32 in this case. More...
 
static const F32 smTickSec = ( F32( Tickable::smTickMs ) / 1000.f )
 Fraction of a second per tick. More...
 
static const U32 smTickMask = ( smTickMs - 1 )
 

Protected Member Functions

virtual void onTamlPreRead (void)
 Taml callbacks. More...
 
virtual void onTamlPostRead (const TamlCustomNodes &customNodes)
 
virtual void onTamlCustomWrite (TamlCustomNodes &customNodes)
 Taml callbacks. More...
 
virtual void onTamlCustomRead (const TamlCustomNodes &customNodes)
 Called during the reading of the object to allow custom properties to be read. More...
 
- Protected Member Functions inherited from BehaviorComponent
virtual const char * _callMethod (U32 argc, const char *argv[], bool callThis=true)
 

Static Protected Member Functions

static bool setGravity (void *obj, const char *data)
 Physics. More...
 
static const char * getGravity (void *obj, const char *data)
 
static bool writeGravity (void *obj, StringTableEntry pFieldName)
 
static bool writeVelocityIterations (void *obj, StringTableEntry pFieldName)
 
static bool writePositionIterations (void *obj, StringTableEntry pFieldName)
 
static bool writeLayerSortMode (void *obj, StringTableEntry pFieldName)
 
static bool writeUpdateCallback (void *obj, StringTableEntry pFieldName)
 
static bool writeRenderCallback (void *obj, StringTableEntry pFieldName)
 

Additional Inherited Members

- Protected Types inherited from SimComponent
typedef VectorPtr
< SimComponent * >::iterator 
SimComponentIterator
 Returns a const reference to private mComponentList. More...
 
- Protected Attributes inherited from SimComponent
bool mEnabled
 
- Static Protected Attributes inherited from SimObject
static SimObject::NotifymNotifyFreeList = NULL
 

Detailed Description


Member Typedef Documentation

typedef HashMap<b2Contact*, TickContact> typeContactHash
typedef HashMap<S32, b2Joint*> typeJointHash
typedef HashMap<U32, S32> typeReverseJointHash

Member Enumeration Documentation

Scene Debug Options.

Enumerator
SCENE_DEBUG_INVALID 
SCENE_DEBUG_METRICS 
SCENE_DEBUG_FPS_METRICS 
SCENE_DEBUG_CONTROLLERS 
SCENE_DEBUG_JOINTS 
SCENE_DEBUG_WIREFRAME_RENDER 
SCENE_DEBUG_AABB 
SCENE_DEBUG_OOBB 
SCENE_DEBUG_SLEEP 
SCENE_DEBUG_COLLISION_SHAPES 
SCENE_DEBUG_POSITION_AND_COM 
SCENE_DEBUG_SORT_POINTS 
enum PickMode

Pick mode.

Enumerator
PICK_INVALID 
PICK_ANY 
PICK_AABB 
PICK_OOBB 
PICK_COLLISION 

Constructor & Destructor Documentation

Scene ( )
~Scene ( )
virtual

Member Function Documentation

void addAssetPreload ( const char *  pAssetId)
void addDeleteRequest ( SceneObject pSceneObject)

Delete requests.

void addTamlChild ( SimObject pSimObject)
virtual

Called when Taml attempts to populate an objects children during a read.

Implements TamlChildren.

void addToScene ( SceneObject pSceneObject)
virtual void advanceTime ( F32  timeDelta)
inlinevirtual

This method is called once every frame regardless of the return value of isProcessingTicks and informs the object of the passage of time

Implements Tickable.

void attachSceneWindow ( SceneWindow pSceneWindow2D)

Window attachments.

void BeginContact ( b2Contact *  pContact)
virtual
void clearAssetPreloads ( void  )
void clearScene ( bool  deleteObjects = true)

Scene occupancy.

SceneObject * create ( const char *  pType)
virtual
SceneRenderRequest * createDefaultRenderRequest ( SceneRenderQueue pSceneRenderQueue,
SceneObject pSceneObject 
)
static
S32 createDistanceJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA = b2Vec2_zero,
const b2Vec2 &  localAnchorB = b2Vec2_zero,
const F32  length = -1.0f,
const F32  frequency = 0.0f,
const F32  dampingRatio = 0.0f,
const bool  collideConnected = false 
)

Distance joint.

S32 createFrictionJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA = b2Vec2_zero,
const b2Vec2 &  localAnchorB = b2Vec2_zero,
const F32  maxForce = 0.0f,
const F32  maxTorque = 0.0f,
const bool  collideConnected = false 
)

Friction joint.

S32 createJoint ( b2JointDef *  pJointDef)
S32 createMotorJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2  linearOffset = b2Vec2_zero,
const F32  angularOffset = 0.0f,
const F32  maxForce = 1.0f,
const F32  maxTorque = 1.0f,
const F32  correctionFactor = 0.3f,
const bool  collideConnected = false 
)

Motor Joint.

S32 createPrismaticJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA,
const b2Vec2 &  localAnchorB,
const b2Vec2 &  worldAxis,
const bool  collideConnected = false 
)

Prismatic joint.

S32 createPulleyJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA,
const b2Vec2 &  localAnchorB,
const b2Vec2 &  worldGroundAnchorA,
const b2Vec2 &  worldGroundAnchorB,
const F32  ratio,
const F32  lengthA = -1.0f,
const F32  lengthB = -1.0f,
const bool  collideConnected = false 
)

Pulley joint.

S32 createRevoluteJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA = b2Vec2_zero,
const b2Vec2 &  localAnchorB = b2Vec2_zero,
const bool  collideConnected = false 
)

Revolute joint.

S32 createRopeJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA = b2Vec2_zero,
const b2Vec2 &  localAnchorB = b2Vec2_zero,
const F32  maxLength = -1.0f,
const bool  collideConnected = false 
)

Rope joint.

S32 createTargetJoint ( const SceneObject pSceneObject,
const b2Vec2 &  worldTarget,
const F32  maxForce,
const bool  useCenterOfMass = false,
const F32  frequency = 5.0f,
const F32  dampingRatio = 0.7f,
const bool  collideConnected = false 
)

Target (a.k.a Mouse) joint.

S32 createWeldJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA = b2Vec2_zero,
const b2Vec2 &  localAnchorB = b2Vec2_zero,
const F32  frequency = 0.0f,
const F32  dampingRatio = 0.0f,
const bool  collideConnected = false 
)

Weld joint.

S32 createWheelJoint ( const SceneObject pSceneObjectA,
const SceneObject pSceneObjectB,
const b2Vec2 &  localAnchorA,
const b2Vec2 &  localAnchorB,
const b2Vec2 &  worldAxis,
const bool  collideConnected = false 
)

Wheel joint.

DECLARE_CONOBJECT ( Scene  )

Declare Console Object.

bool deleteJoint ( const U32  jointId)
void detachAllSceneWindows ( void  )
void detachSceneWindow ( SceneWindow pSceneWindow2D)
void EndContact ( b2Contact *  pContact)
virtual
b2Joint * findJoint ( const S32  jointId)
S32 findJointId ( b2Joint *  pJoint)
const AssetPtr< AssetBase > * getAssetPreload ( const S32  index) const
S32 getAssetPreloadCount ( void  ) const
inline
SimSet& getAttachedSceneWindows ( void  )
inline
bool getBatchingEnabled ( void  ) const
inline
const typeContactHash& getBeginContacts ( void  ) const
inline
b2BlockAllocator* getBlockAllocator ( void  )
inline
SimSet* getControllers ( void  )
inline
U32 getDebugMask ( void  ) const
inline
const char * getDebugOptionDescription ( Scene::DebugOption  debugOption)
static
Scene::DebugOption getDebugOptionEnum ( const char *  label)
static
SceneObject* getDebugSceneObject ( void  ) const
inline
DebugStats& getDebugStats ( void  )
inline
F32 getDistanceJointDampingRatio ( const U32  jointId)
F32 getDistanceJointFrequency ( const U32  jointId)
F32 getDistanceJointLength ( const U32  jointId)
const typeContactVector& getEndContacts ( void  ) const
inline
F32 getFrictionJointMaxForce ( const U32  jointId)
F32 getFrictionJointMaxTorque ( const U32  jointId)
U32 getGlobalSceneCount ( void  )
static
b2Vec2 getGravity ( void  )
inline
static const char* getGravity ( void *  obj,
const char *  data 
)
inlinestaticprotected
b2Body* getGroundBody ( void  ) const
inline
bool getIsEditorScene ( void  ) const
inline
U32 getJointCount ( void  ) const
inline

Joint access.

b2JointType getJointType ( const S32  jointId)
const char * getJointTypeDescription ( b2JointType  jointType)
static
b2JointType getJointTypeEnum ( const char *  label)
static
SceneRenderQueue::RenderSort getLayerSortMode ( const U32  layer)
F32 getMotorJointAngularOffset ( const U32  jointId)
b2Vec2 getMotorJointLinearOffset ( const U32  jointId)
F32 getMotorJointMaxForce ( const U32  jointId)
F32 getMotorJointMaxTorque ( const U32  jointId)
virtual ePhysicsProxyType getPhysicsProxyType ( void  ) const
inlinevirtual

Implements PhysicsProxy.

const char * getPickModeDescription ( Scene::PickMode  pickMode)
static
Scene::PickMode getPickModeEnum ( const char *  label)
static
S32 getPositionIterations ( void  ) const
inline
bool getPrismaticJointLimit ( const U32  jointId,
bool &  enableLimit,
F32 &  lowerTranslation,
F32 &  upperTranslation 
)
bool getPrismaticJointMotor ( const U32  jointId,
bool &  enableMotor,
F32 &  motorSpeed,
F32 &  maxMotorTorque 
)
bool getRenderCallback ( void  ) const
inline
F32 getRevoluteJointAngle ( const U32  jointId)
bool getRevoluteJointLimit ( const U32  jointId,
bool &  enableLimit,
F32 &  lowerAngle,
F32 &  upperAngle 
)
bool getRevoluteJointMotor ( const U32  jointId,
bool &  enableMotor,
F32 &  motorSpeed,
F32 &  maxMotorTorque 
)
F32 getRevoluteJointSpeed ( const U32  jointId)
F32 getRopeJointMaxLength ( const U32  jointId)
U32 getSceneIndex ( void  ) const
inline
SceneObject * getSceneObject ( const U32  objectIndex) const
U32 getSceneObjectCount ( void  ) const
inline
typeSceneObjectVectorConstRef getSceneObjects ( void  ) const
inline
U32 getSceneObjects ( typeSceneObjectVector objects) const
U32 getSceneObjects ( typeSceneObjectVector objects,
const U32  sceneLayer 
) const
bool getScenePause ( void  ) const
inline
F32 getSceneTime ( void  ) const
inline

Scene time.

SimObject * getTamlChild ( const U32  childIndex) const
virtual

Called when Taml attempts to compile a list of children.

Implements TamlChildren.

virtual U32 getTamlChildCount ( void  ) const
inlinevirtual

Taml children.

Implements TamlChildren.

F32 getTargetJointDampingRatio ( const U32  jointId)
F32 getTargetJointFrequency ( const U32  jointId)
F32 getTargetJointMaxForce ( const U32  jointId)
b2Vec2 getTargetJointTarget ( const U32  jointId)
bool getUpdateCallback ( void  ) const
inline
S32 getVelocityIterations ( void  ) const
inline
F32 getWeldJointDampingRatio ( const U32  jointId)
F32 getWeldJointFrequency ( const U32  jointId)
F32 getWheelJointDampingRatio ( const U32  jointId)
F32 getWheelJointFrequency ( const U32  jointId)
bool getWheelJointMotor ( const U32  jointId,
bool &  enableMotor,
F32 &  motorSpeed,
F32 &  maxMotorTorque 
)
b2World* getWorld ( void  ) const
inline

World.

WorldQuery* getWorldQuery ( const bool  clearQuery = false)
inline
bool hasJoints ( SceneObject pSceneObject)
void initPersistFields ( )
static
void interpolateTick ( F32  delta)
virtual

This method is called every frame and lets the control interpolate between ticks so you can smooth things as long as isProcessingTicks returns true when it is called on the object

Implements Tickable.

bool isSceneWindowAttached ( SceneWindow pSceneWindow2D)
void mergeScene ( const Scene pScene)
bool onAdd ( void  )
virtual

Engine.

Reimplemented from BehaviorComponent.

void onDeleteNotify ( SimObject object)
virtual

Called when a SimObject is deleted.

When you are on the notification list for another object and it is deleted, this method is called.

Reimplemented from BehaviorComponent.

void onRemove ( )
virtual

Called when the object is removed from the sim.

Reimplemented from BehaviorComponent.

void onTamlCustomRead ( const TamlCustomNodes customNodes)
protectedvirtual

Called during the reading of the object to allow custom properties to be read.

Reimplemented from BehaviorComponent.

void onTamlCustomWrite ( TamlCustomNodes customNodes)
protectedvirtual

Taml callbacks.

Reimplemented from BehaviorComponent.

void onTamlPostRead ( const TamlCustomNodes customNodes)
protectedvirtual

Called after Taml has finished reading the object. The custom properties is additionally passed here for object who want to process it at the end of reading.

Reimplemented from SimObject.

void onTamlPreRead ( void  )
protectedvirtual

Taml callbacks.

Reimplemented from SimObject.

void PostSolve ( b2Contact *  pContact,
const b2ContactImpulse *  pImpulse 
)
virtual
virtual void PreSolve ( b2Contact *  pContact,
const b2Manifold *  pOldManifold 
)
inlinevirtual

Contact processing.

void processDeleteRequests ( const bool  forceImmediate)
void processTick ( void  )
virtual

Integration.

Implements Tickable.

void removeAssetPreload ( const char *  pAssetId)
void removeFromScene ( SceneObject pSceneObject)
void resetDebugStats ( void  )
inline
void SayGoodbye ( b2Joint *  pJoint)
virtual

Destruction listeners.

virtual void SayGoodbye ( b2Fixture *  pFixture)
inlinevirtual
void sceneRender ( const SceneRenderState pSceneRenderState)

Render output.

void setBatchingEnabled ( const bool  enabled)
inline

Miscellaneous.

void setDebugOff ( const U32  debugMask)
inline
void setDebugOn ( const U32  debugMask)
inline

Debug and metrics.

void setDebugSceneObject ( SceneObject pSceneObject)
void setDistanceJointDampingRatio ( const U32  jointId,
const F32  dampingRatio 
)
void setDistanceJointFrequency ( const U32  jointId,
const F32  frequency 
)
void setDistanceJointLength ( const U32  jointId,
const F32  length 
)
void setFrictionJointMaxForce ( const U32  jointId,
const F32  maxForce 
)
void setFrictionJointMaxTorque ( const U32  jointId,
const F32  maxTorque 
)
void setGravity ( const b2Vec2 &  gravity)
inline
static bool setGravity ( void *  obj,
const char *  data 
)
inlinestaticprotected

Physics.

void setIsEditorScene ( bool  status)
inline
void setLayerSortMode ( const U32  layer,
const SceneRenderQueue::RenderSort  sortMode 
)

Layer sorting.

void setMotorJointAngularOffset ( const U32  jointId,
const F32  angularOffset 
)
void setMotorJointLinearOffset ( const U32  jointId,
const b2Vec2 &  linearOffset 
)
void setMotorJointMaxForce ( const U32  jointId,
const F32  maxForce 
)
void setMotorJointMaxTorque ( const U32  jointId,
const F32  maxTorque 
)
void setPositionIterations ( const S32  iterations)
inline
void setPrismaticJointLimit ( const U32  jointId,
const bool  enableLimit,
const F32  lowerTranslation,
const F32  upperTranslation 
)
void setPrismaticJointMotor ( const U32  jointId,
const bool  enableMotor,
const F32  motorSpeed = b2_pi,
const F32  maxMotorForce = 0.0f 
)
void setRenderCallback ( const bool  callback)
inline
void setRevoluteJointLimit ( const U32  jointId,
const bool  enableLimit,
const F32  lowerAngle,
const F32  upperAngle 
)
void setRevoluteJointMotor ( const U32  jointId,
const bool  enableMotor,
const F32  motorSpeed = b2_pi,
const F32  maxMotorTorque = 0.0f 
)
void setRopeJointMaxLength ( const U32  jointId,
const F32  maxLength 
)
void setScenePause ( bool  status)
inline
void setTargetJointDampingRatio ( const U32  jointId,
const F32  dampingRatio 
)
void setTargetJointFrequency ( const U32  jointId,
const F32  frequency 
)
void setTargetJointMaxForce ( const U32  jointId,
const F32  maxForce 
)
void setTargetJointTarget ( const U32  jointId,
const b2Vec2 &  worldTarget 
)
void setUpdateCallback ( const bool  callback)
inline
void setVelocityIterations ( const S32  iterations)
inline
void setWeldJointDampingRatio ( const U32  jointId,
const F32  dampingRatio 
)
void setWeldJointFrequency ( const U32  jointId,
const F32  frequency 
)
void setWheelJointDampingRatio ( const U32  jointId,
const F32  dampingRatio 
)
void setWheelJointFrequency ( const U32  jointId,
const F32  frequency 
)
void setWheelJointMotor ( const U32  jointId,
const bool  enableMotor,
const F32  motorSpeed = b2_pi,
const F32  maxMotorTorque = 0.0f 
)
static bool writeGravity ( void *  obj,
StringTableEntry  pFieldName 
)
inlinestaticprotected
static bool writeLayerSortMode ( void *  obj,
StringTableEntry  pFieldName 
)
inlinestaticprotected
static bool writePositionIterations ( void *  obj,
StringTableEntry  pFieldName 
)
inlinestaticprotected
static bool writeRenderCallback ( void *  obj,
StringTableEntry  pFieldName 
)
inlinestaticprotected
static bool writeUpdateCallback ( void *  obj,
StringTableEntry  pFieldName 
)
inlinestaticprotected
static bool writeVelocityIterations ( void *  obj,
StringTableEntry  pFieldName 
)
inlinestaticprotected

Member Data Documentation

SimObjectPtr< Scene > LoadingScene = NULL
static
DebugDraw mDebugDraw

Debug drawing.


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