![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
#include <PhysX.h>
Public Member Functions | |
PhysX (PlatformContext &context) | |
ErrorCode | initPhysicsAPI (U8 targetFrameRate, F32 simSpeed) override |
bool | closePhysicsAPI () override |
void | frameStarted (U64 deltaTimeGameUS) override |
Process results. | |
void | frameEnded (U64 deltaTimeGameUS) override |
Update actors. | |
void | idle () override |
void | updateTimeStep (U8 timeStepFactor, F32 simSpeed) override |
bool | initPhysicsScene (Scene &scene) override |
bool | destroyPhysicsScene (const Scene &scene) override |
bool | intersect (const Ray &intersectionRay, vec2< F32 > range, vector< SGNRayResult > &intersectionsOut) const override |
physx::PxPhysics * | getSDK () const noexcept |
PhysicsAsset * | createRigidActor (SceneGraphNode *node, RigidBodyComponent &parentComp) override |
bool | convertActor (PhysicsAsset *actor, PhysicsGroup newGroup) override |
void | togglePvdConnection () const |
void | createPvdConnection (const char *ip, physx::PxU32 port, physx::PxU32 timeout, bool useFullConnection) |
![]() | |
PhysicsAPIWrapper (PlatformContext &context) | |
virtual bool | convertActor (PhysicsAsset *actor, PhysicsGroup newGroup)=0 |
![]() | |
PlatformContextComponent (PlatformContext &context) noexcept | |
virtual | ~PlatformContextComponent ()=default |
PlatformContext & | context () noexcept |
const PlatformContext & | context () const noexcept |
![]() | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable (NonCopyable &&)=default | |
NonCopyable & | operator= (NonCopyable &&)=default |
Protected Member Functions | |
physx::PxRigidActor * | createActorForGroup (PhysicsGroup group, const physx::PxTransform &pose) |
virtual ErrorCode | initPhysicsAPI (U8 targetFrameRate, F32 simSpeed)=0 |
virtual bool | closePhysicsAPI ()=0 |
virtual void | updateTimeStep (U8 timeStepFactor, F32 simSpeed)=0 |
virtual void | idle ()=0 |
virtual bool | initPhysicsScene (Scene &scene)=0 |
virtual bool | destroyPhysicsScene (const Scene &scene)=0 |
virtual void | frameStarted (const U64 deltaTimeGameUS)=0 |
virtual void | frameEnded (const U64 deltaTimeGameUS)=0 |
virtual PhysicsAsset * | createRigidActor (SceneGraphNode *node, RigidBodyComponent &parentComp)=0 |
virtual bool | intersect (const Ray &intersectionRay, vec2< F32 > range, vector< SGNRayResult > &intersectionsOut) const =0 |
![]() | |
NonCopyable ()=default | |
~NonCopyable ()=default | |
Protected Attributes | |
PhysXSceneInterface_uptr | _targetScene |
![]() | |
PlatformContext & | _context |
Private Attributes | |
F32 | _simulationSpeed = 1.0f |
physx::PxPhysics * | _gPhysicsSDK = nullptr |
physx::PxFoundation * | _foundation = nullptr |
physx::PxMaterial * | _defaultMaterial = nullptr |
physx::PxReal | _timeStep = 0.0f |
physx::PxU8 | _timeStepFactor = 0 |
physx::PxReal | _accumulator = 0.0f |
physx::PxPvd * | _pvd = nullptr |
physx::PxPvdTransport * | _transport = nullptr |
Static Private Attributes | |
static SharedMutex | s_meshCacheLock |
static hashMap< U64, physx::PxTriangleMesh * > | s_gMeshCache |
|
explicit |
|
overridevirtual |
Implements Divide::PhysicsAPIWrapper.
|
overridevirtual |
Implements Divide::PhysicsAPIWrapper.
|
protected |
void Divide::PhysX::createPvdConnection | ( | const char * | ip, |
physx::PxU32 | port, | ||
physx::PxU32 | timeout, | ||
bool | useFullConnection | ||
) |
|
overridevirtual |
Implements Divide::PhysicsAPIWrapper.
|
overridevirtual |
Destroy physics (:D)
Implements Divide::PhysicsAPIWrapper.
|
overridevirtual |
|
overridevirtual |
|
inlinenoexcept |
|
overridevirtual |
Implements Divide::PhysicsAPIWrapper.
Implements Divide::PhysicsAPIWrapper.
|
overridevirtual |
Implements Divide::PhysicsAPIWrapper.
|
overridevirtual |
Implements Divide::PhysicsAPIWrapper.
Implements Divide::PhysicsAPIWrapper.
|
private |
|
private |
|
private |
|
protected |
|
private |
|
staticprivate |