OpenVRTrackedObject
Engine/source/platform/input/openVR/openVRTrackedObject.h
Implements a GameObject which tracks an OpenVR controller.
Classes:
Rendering
{
setupRenderDataFromModel(bool loadComponentModels)
Called after any property of the object is changed in the world editor.
bool
onAdd()
Called when the object is added to the sim.
bool
onNewDataBlock(GameBaseData * dptr, bool reload)
Called when a new datablock is set.
setInteractObject(SceneObject * object, bool holding)
setTransform(const MatrixF & mat)
Sets the Object -> World transform.
setModelName(String & modelName)
packUpdate(NetConnection * conn, U32 mask, BitStream * stream)
Instructs this object to pack its state for transfer over the network.
unpackUpdate(NetConnection * conn, BitStream * stream)
Instructs this object to read state data previously packed with packUpdate.
writePacketData(GameConnection * conn, BitStream * stream)
Write state information necessary to perform client side prediction of an object.
readPacketData(GameConnection * conn, BitStream * stream)
Read data written with writePacketData() and update the object state.
prepRenderImage(SceneRenderState * state)
Called when the SceneManager is ready for the registration of render instances.
updateMove(const Move * move)
processTick(const Move * move)
Processes a move event and updates object state once every 32 milliseconds.
interpolateTick(F32 delta)
Interpolates between tick events.
advanceTime(F32 dt)
Advances simulation time for animations.
bool
buildConvex(const Box3F & box, Convex * convex)
Builds a convex hull for this object.
bool
testObject(SceneObject * enter)
Shape used to render controller (uses native model otherwise)
Basic model.
Vector< RenderModelSlot >
Movemanager move index for rotation.
vr::VRControllerState_t
vr::VRControllerState_t
Current openvr pose data, or reconstructed data from the client.
Object we're currently colliding with.
Object we've designated as important to interact with.
bool
Performs pickup logic with mInteractObject.
bool
Ignores the rotation of the parent object.
bool
Shows latest controller position in DebugDrawer.
bool
Shows move position in DebugDrawer.
Private Types
MaskBits { UpdateMask = Parent::NextFreeMask << 0 NextFreeMask = Parent::NextFreeMask << 1 }
Parent
Private Attributes
Detailed Description
Implements a GameObject which tracks an OpenVR controller.
Rendering
{
OpenVRTrackedObject()
~OpenVRTrackedObject()
updateRenderData()
setupRenderDataFromModel(bool loadComponentModels)
clearRenderData()
DECLARE_CONOBJECT(OpenVRTrackedObject )
inspectPostApply()
Reimplemented from: SceneObject
onAdd()
Reimplemented from: SceneObject
onRemove()
Reimplemented from: SceneObject
_updatePhysics()
onNewDataBlock(GameBaseData * dptr, bool reload)
Reimplemented from: GameBase
setInteractObject(SceneObject * object, bool holding)
setTransform(const MatrixF & mat)
Reimplemented from: SceneObject
setModelName(String & modelName)
packUpdate(NetConnection * conn, U32 mask, BitStream * stream)
Reimplemented from: SceneObject
unpackUpdate(NetConnection * conn, BitStream * stream)
Reimplemented from: SceneObject
writePacketData(GameConnection * conn, BitStream * stream)
Reimplemented from: GameBase
readPacketData(GameConnection * conn, BitStream * stream)
Reimplemented from: GameBase
prepRenderImage(SceneRenderState * state)
Reimplemented from: SceneObject
getTrackedTransform()
getLastTrackedTransform()
getBaseTrackingTransform()
getCollisionMask()
updateWorkingCollisionSet()
updateMove(const Move * move)
processTick(const Move * move)
Reimplemented from: ProcessObject
interpolateTick(F32 delta)
Reimplemented from: ProcessObject
advanceTime(F32 dt)
Reimplemented from: ProcessObject
castRay(const Point3F & start, const Point3F & end, RayInfo * info)
Reimplemented from: SceneObject
buildConvex(const Box3F & box, Convex * convex)
Reimplemented from: SceneObject
testObject(SceneObject * enter)
initPersistFields()
TSShapeInstance * mShapeInstance
Shape used to render controller (uses native model otherwise)
StringTableEntry mModelName
OpenVRRenderModel * mBasicModel
Basic model.
Vector< RenderModelSlot > mRenderComponents
S32 mDeviceIndex
}
Controller idx in openvr (for direct updating)
S32 mMappedMoveIndex
Movemanager move index for rotation.
vr::VRControllerState_t mCurrentControllerState
vr::VRControllerState_t mPreviousControllerState
IDevicePose mPose
Current openvr pose data, or reconstructed data from the client.
Convex * mConvexList
EarlyOutPolyList mClippedList
PhysicsBody * mPhysicsRep
SimObjectPtr< SceneObject > mCollisionObject
Object we're currently colliding with.
SimObjectPtr< SceneObject > mInteractObject
Object we've designated as important to interact with.
bool mHoldInteractedObject
Performs pickup logic with mInteractObject.
bool mIgnoreParentRotation
Ignores the rotation of the parent object.
bool smDebugControllerPosition
Shows latest controller position in DebugDrawer.
bool smDebugControllerMovePosition
Shows move position in DebugDrawer.
U32 sServerCollisionMask
U32 sClientCollisionMask
Private Types
MaskBits
Enumerator
- UpdateMask = Parent::NextFreeMask << 0
- NextFreeMask = Parent::NextFreeMask << 1
typedef GameBase Parent