Bullet Collision Detection & Physics Library
Public Member Functions | Public Attributes | Protected Attributes | List of all members
btSoftBodyVertexDataDX11 Class Reference

#include <btSoftBodySolverVertexData_DX11.h>

Inheritance diagram for btSoftBodyVertexDataDX11:
Inheritance graph
[legend]
Collaboration diagram for btSoftBodyVertexDataDX11:
Collaboration graph
[legend]

Public Member Functions

 btSoftBodyVertexDataDX11 (ID3D11Device *d3dDevice, ID3D11DeviceContext *d3dDeviceContext)
 
virtual ~btSoftBodyVertexDataDX11 ()
 
virtual bool onAccelerator ()
 Return true if data is on the accelerator. More...
 
virtual bool moveToAccelerator ()
 Move data from host memory to the accelerator. More...
 
virtual bool moveFromAccelerator (bool bCopy=false, bool bCopyMinimum=true)
 Move data to host memory from the accelerator if bCopy is false. More...
 
- Public Member Functions inherited from btSoftBodyVertexData
 btSoftBodyVertexData ()
 
virtual ~btSoftBodyVertexData ()
 
virtual void clear ()
 
int getNumVertices ()
 
int getClothIdentifier (int vertexIndex)
 
void setVertexAt (const VertexDescription &vertex, int vertexIndex)
 
void createVertices (int numVertices, int clothIdentifier, int maxVertices=0)
 Create numVertices new vertices for cloth clothIdentifier maxVertices allows a buffer zone of extra vertices for alignment or tearing reasons. More...
 
Vectormath::Aos::Point3getPosition (int vertexIndex)
 Return a reference to the position of vertex vertexIndex as stored on the host. More...
 
Vectormath::Aos::Point3 getPosition (int vertexIndex) const
 
Vectormath::Aos::Point3getPreviousPosition (int vertexIndex)
 Return a reference to the previous position of vertex vertexIndex as stored on the host. More...
 
Vectormath::Aos::Vector3getVelocity (int vertexIndex)
 Return a reference to the velocity of vertex vertexIndex as stored on the host. More...
 
Vectormath::Aos::Vector3getForceAccumulator (int vertexIndex)
 Return a reference to the force accumulator of vertex vertexIndex as stored on the host. More...
 
Vectormath::Aos::Vector3getNormal (int vertexIndex)
 Return a reference to the normal of vertex vertexIndex as stored on the host. More...
 
Vectormath::Aos::Vector3 getNormal (int vertexIndex) const
 
float & getInverseMass (int vertexIndex)
 Return a reference to the inverse mass of vertex vertexIndex as stored on the host. More...
 
float & getArea (int vertexIndex)
 Get access to the area controlled by this vertex. More...
 
int & getTriangleCount (int vertexIndex)
 Get access to the array of how many triangles touch each vertex. More...
 
btAlignedObjectArray
< Vectormath::Aos::Point3 > & 
getVertexPositions ()
 

Public Attributes

btDX11Buffer< int > m_dx11ClothIdentifier
 
btDX11Buffer
< Vectormath::Aos::Point3
m_dx11VertexPosition
 
btDX11Buffer
< Vectormath::Aos::Point3
m_dx11VertexPreviousPosition
 
btDX11Buffer
< Vectormath::Aos::Vector3
m_dx11VertexVelocity
 
btDX11Buffer
< Vectormath::Aos::Vector3
m_dx11VertexForceAccumulator
 
btDX11Buffer
< Vectormath::Aos::Vector3
m_dx11VertexNormal
 
btDX11Buffer< float > m_dx11VertexInverseMass
 
btDX11Buffer< float > m_dx11VertexArea
 
btDX11Buffer< int > m_dx11VertexTriangleCount
 

Protected Attributes

bool m_onGPU
 
ID3D11Device * m_d3dDevice
 
ID3D11DeviceContext * m_d3dDeviceContext
 
- Protected Attributes inherited from btSoftBodyVertexData
btAlignedObjectArray< int > m_clothIdentifier
 
btAlignedObjectArray
< Vectormath::Aos::Point3
m_vertexPosition
 
btAlignedObjectArray
< Vectormath::Aos::Point3
m_vertexPreviousPosition
 
btAlignedObjectArray
< Vectormath::Aos::Vector3
m_vertexVelocity
 
btAlignedObjectArray
< Vectormath::Aos::Vector3
m_vertexForceAccumulator
 
btAlignedObjectArray
< Vectormath::Aos::Vector3
m_vertexNormal
 
btAlignedObjectArray< float > m_vertexInverseMass
 
btAlignedObjectArray< float > m_vertexArea
 
btAlignedObjectArray< int > m_vertexTriangleCount
 

Detailed Description

Definition at line 30 of file btSoftBodySolverVertexData_DX11.h.

Constructor & Destructor Documentation

btSoftBodyVertexDataDX11::btSoftBodyVertexDataDX11 ( ID3D11Device *  d3dDevice,
ID3D11DeviceContext *  d3dDeviceContext 
)

Definition at line 267 of file btSoftBodySolver_DX11.cpp.

btSoftBodyVertexDataDX11::~btSoftBodyVertexDataDX11 ( )
virtual

Definition at line 282 of file btSoftBodySolver_DX11.cpp.

Member Function Documentation

bool btSoftBodyVertexDataDX11::moveFromAccelerator ( bool  bCopy = false,
bool  bCopyMinimum = true 
)
virtual

Move data to host memory from the accelerator if bCopy is false.

If bCopy is true, copy data to host memory from the accelerator so that data won't be moved to accelerator when moveToAccelerator() is called next time. If bCopyMinimum is true, only vertex position and normal are copied. bCopyMinimum will be meaningful only if bCopy is true. The CPU version will always return that it has moved it.

Reimplemented from btSoftBodyVertexData.

Definition at line 311 of file btSoftBodySolver_DX11.cpp.

bool btSoftBodyVertexDataDX11::moveToAccelerator ( )
virtual

Move data from host memory to the accelerator.

The CPU version will always return that it has moved it.

Reimplemented from btSoftBodyVertexData.

Definition at line 292 of file btSoftBodySolver_DX11.cpp.

bool btSoftBodyVertexDataDX11::onAccelerator ( )
virtual

Return true if data is on the accelerator.

The CPU version of this class will return true here because the CPU is the same as the accelerator.

Reimplemented from btSoftBodyVertexData.

Definition at line 287 of file btSoftBodySolver_DX11.cpp.

Member Data Documentation

ID3D11Device* btSoftBodyVertexDataDX11::m_d3dDevice
protected

Definition at line 34 of file btSoftBodySolverVertexData_DX11.h.

ID3D11DeviceContext* btSoftBodyVertexDataDX11::m_d3dDeviceContext
protected

Definition at line 35 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<int> btSoftBodyVertexDataDX11::m_dx11ClothIdentifier

Definition at line 38 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<float> btSoftBodyVertexDataDX11::m_dx11VertexArea

Definition at line 45 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<Vectormath::Aos::Vector3> btSoftBodyVertexDataDX11::m_dx11VertexForceAccumulator

Definition at line 42 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<float> btSoftBodyVertexDataDX11::m_dx11VertexInverseMass

Definition at line 44 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<Vectormath::Aos::Vector3> btSoftBodyVertexDataDX11::m_dx11VertexNormal

Definition at line 43 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<Vectormath::Aos::Point3> btSoftBodyVertexDataDX11::m_dx11VertexPosition

Definition at line 39 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<Vectormath::Aos::Point3> btSoftBodyVertexDataDX11::m_dx11VertexPreviousPosition

Definition at line 40 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<int> btSoftBodyVertexDataDX11::m_dx11VertexTriangleCount

Definition at line 46 of file btSoftBodySolverVertexData_DX11.h.

btDX11Buffer<Vectormath::Aos::Vector3> btSoftBodyVertexDataDX11::m_dx11VertexVelocity

Definition at line 41 of file btSoftBodySolverVertexData_DX11.h.

bool btSoftBodyVertexDataDX11::m_onGPU
protected

Definition at line 33 of file btSoftBodySolverVertexData_DX11.h.


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