Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::PhysicsAsset Class Reference

#include <PhysicsAsset.h>

+ Inheritance diagram for Divide::PhysicsAsset:

Public Member Functions

 PhysicsAsset (RigidBodyComponent &parent) noexcept
 
virtual void physicsCollisionGroup (PhysicsGroup group)
 
RigidBodyComponentgetParent () const noexcept
 
- Public Member Functions inherited from Divide::ITransform
virtual ~ITransform ()=default
 
virtual void setPosition (const vec3< F32 > &position)=0
 Set the local X,Y and Z position.
 
virtual void setPosition (F32 x, F32 y, F32 z)=0
 Set the local X,Y and Z position.
 
virtual void setPositionX (F32 positionX)=0
 Set the object's position on the X axis.
 
virtual void setPositionY (F32 positionY)=0
 Set the object's position on the Y axis.
 
virtual void setPositionZ (F32 positionZ)=0
 Set the object's position on the Z axis.
 
virtual void translate (const vec3< F32 > &axisFactors)=0
 Add the specified translation factors to the current local position.
 
virtual void setScale (const vec3< F32 > &amount)=0
 Set the local X,Y and Z scale factors.
 
virtual void setScaleX (F32 amount)=0
 Set the scaling factor on the X axis.
 
virtual void setScaleY (F32 amount)=0
 Set the scaling factor on the Y axis.
 
virtual void setScaleZ (F32 amount)=0
 Set the scaling factor on the Z axis.
 
virtual void scale (const vec3< F32 > &axisFactors)=0
 Add the specified scale factors to the current local position.
 
virtual void scaleX (F32 amount)=0
 Increase the scaling factor on the X axis by the specified factor.
 
virtual void scaleY (F32 amount)=0
 Increase the scaling factor on the Y axis by the specified factor.
 
virtual void scaleZ (F32 amount)=0
 Increase the scaling factor on the Z axis by the specified factor.
 
virtual void setRotation (const vec3< F32 > &axis, Angle::DEGREES< F32 > degrees)=0
 
virtual void setRotation (Angle::DEGREES< F32 > pitch, Angle::DEGREES< F32 > yaw, Angle::DEGREES< F32 > roll)=0
 
virtual void setRotation (const Quaternion< F32 > &quat)=0
 Set the local orientation so that it matches the specified quaternion.
 
virtual void setRotationX (Angle::DEGREES< F32 > angle)=0
 
virtual void setRotationY (Angle::DEGREES< F32 > angle)=0
 
virtual void setRotationZ (Angle::DEGREES< F32 > angle)=0
 
virtual void rotate (const vec3< F32 > &axis, Angle::DEGREES< F32 > degrees)=0
 
virtual void rotate (Angle::DEGREES< F32 > pitch, Angle::DEGREES< F32 > yaw, Angle::DEGREES< F32 > roll)=0
 
virtual void rotate (const Quaternion< F32 > &quat)=0
 Apply the specified Quaternion rotation starting from the current orientation.
 
virtual void rotateSlerp (const Quaternion< F32 > &quat, D64 deltaTime)=0
 Perform a SLERP rotation towards the specified quaternion.
 
virtual void rotateX (Angle::DEGREES< F32 > angle)=0
 Rotate on the X axis (Axis-Angle used) by the specified angle (either degrees or radians)
 
virtual void rotateY (Angle::DEGREES< F32 > angle)=0
 Rotate on the Y axis (Axis-Angle used) by the specified angle (either degrees or radians)
 
virtual void rotateZ (Angle::DEGREES< F32 > angle)=0
 Rotate on the Z axis (Axis-Angle used) by the specified angle (either degrees or radians)
 
void setScale (F32 amount)
 Set an uniform scale on all three axis.
 
void setScale (F32 x, F32 y, F32 z)
 Set a scaling factor for each axis.
 
void setRotationEuler (const vec3< F32 > &euler)
 Set the euler rotation in degrees.
 
void translate (F32 x, F32 y, F32 z)
 Translate the object on each axis by the specified amount.
 
void translateX (F32 positionX)
 Translate the object on the X axis by the specified amount.
 
void translateY (F32 positionY)
 Translate the object on the Y axis by the specified amount.
 
void translateZ (F32 positionZ)
 Translate the object on the Z axis by the specified amount.
 
void scale (F32 amount)
 Increase the scaling factor on all three axis by an uniform factor.
 
void scale (F32 x, F32 y, F32 z)
 Increase the scaling factor on all three axis by the specified amounts.
 
void rotate (F32 xAxis, F32 yAxis, F32 zAxis, Angle::DEGREES< F32 > degrees)
 Apply an axis-angle rotation.
 
void rotate (const vec3< F32 > &euler)
 Apply an euler rotation.
 
virtual void getScale (vec3< F32 > &scaleOut) const =0
 Return the scale factor.
 
virtual void getPosition (vec3< F32 > &posOut) const =0
 Return the position.
 
virtual void getOrientation (Quaternion< F32 > &quatOut) const =0
 Return the orientation quaternion.
 

Protected Attributes

RigidBodyComponent_parentComponent
 
PXDevice_context
 

Detailed Description

Definition at line 43 of file PhysicsAsset.h.

Constructor & Destructor Documentation

◆ PhysicsAsset()

Divide::PhysicsAsset::PhysicsAsset ( RigidBodyComponent parent)
explicitnoexcept

Definition at line 9 of file PhysicsAsset.cpp.

Member Function Documentation

◆ getParent()

RigidBodyComponent & Divide::PhysicsAsset::getParent ( ) const
inlinenoexcept

Definition at line 49 of file PhysicsAsset.h.

◆ physicsCollisionGroup()

void Divide::PhysicsAsset::physicsCollisionGroup ( PhysicsGroup  group)
virtual

Reimplemented in Divide::PhysXActor.

Definition at line 15 of file PhysicsAsset.cpp.

Member Data Documentation

◆ _context

PXDevice& Divide::PhysicsAsset::_context
protected

Definition at line 53 of file PhysicsAsset.h.

◆ _parentComponent

RigidBodyComponent& Divide::PhysicsAsset::_parentComponent
protected

Definition at line 52 of file PhysicsAsset.h.


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