33#ifndef DVD_PHYSX_ACTOR_H_
34#define DVD_PHYSX_ACTOR_H_
40#include <physx/PxRigidActor.h>
45 vec3<F32>
toVec3(
const physx::PxVec3& vec)
noexcept;
46 physx::PxVec3
toVec3(
const vec3<F32>& vec)
noexcept;
99 physx::PxRigidActor*
_actor =
nullptr;
100 physx::PxGeometryType::Enum
_type = physx::PxGeometryType::eINVALID;
void setPositionZ(F32 positionZ) override
Set the object's position on the Z axis.
physx::PxGeometryType::Enum _type
void setPositionX(F32 positionX) override
Set the object's position on the X axis.
void setScaleX(F32 amount) override
Set the scaling factor on the X axis.
void setScaleZ(F32 amount) override
Set the scaling factor on the Z axis.
void setPosition(const vec3< F32 > &position) override
Set the local X,Y and Z position.
void rotateSlerp(const Quaternion< F32 > &quat, D64 deltaTime) override
Perform a SLERP rotation towards the specified quaternion.
void setRotationX(Angle::DEGREES< F32 > angle) override
physx::PxRigidActor * _actor
void setScaleY(F32 amount) override
Set the scaling factor on the Y axis.
void setPositionY(F32 positionY) override
Set the object's position on the Y axis.
void getScale(vec3< F32 > &scaleOut) const override
Return the scale factor.
void getOrientation(Quaternion< F32 > &quatOut) const override
Return the orientation quaternion.
void scale(const vec3< F32 > &axisFactors) override
Add the specified scale factors to the current local position.
void setRotationY(Angle::DEGREES< F32 > angle) override
void rotateZ(Angle::DEGREES< F32 > angle) override
void scaleX(F32 amount) override
Increase the scaling factor on the X axis by the specified factor.
void rotate(const vec3< F32 > &axis, Angle::DEGREES< F32 > degrees) override
void getPosition(vec3< F32 > &posOut) const override
Return the position.
mat4< F32 > _cachedLocalMatrix
void setRotationZ(Angle::DEGREES< F32 > angle) override
void scaleZ(F32 amount) override
Increase the scaling factor on the Z axis by the specified factor.
void translate(const vec3< F32 > &axisFactors) override
Add the specified translation factors to the current local position.
void scaleY(F32 amount) override
Increase the scaling factor on the Y axis by the specified factor.
void physicsCollisionGroup(PhysicsGroup group) override
void setRotation(const vec3< F32 > &axis, Angle::DEGREES< F32 > degrees) override
void rotateX(Angle::DEGREES< F32 > angle) override
void setScale(const vec3< F32 > &scale) override
Set the local X,Y and Z scale factors.
void rotateY(Angle::DEGREES< F32 > angle) override
vec3< F32 > toVec3(const physx::PxVec3 &vec) noexcept
Handle console commands that start with a forward slash.