Bullet Collision Detection & Physics Library
|
#include <btSoftBodySolverLinkData_DX11.h>
Classes | |
struct | BatchPair |
Public Member Functions | |
btSoftBodyLinkDataDX11 (ID3D11Device *d3dDevice, ID3D11DeviceContext *d3dDeviceContext) | |
virtual | ~btSoftBodyLinkDataDX11 () |
virtual void | createLinks (int numLinks) |
Allocate enough space in all link-related arrays to fit numLinks links. More... | |
virtual void | setLinkAt (const LinkDescription &link, int linkIndex) |
Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks. More... | |
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 () |
Move data from host memory from the accelerator. More... | |
void | generateBatches () |
Generate (and later update) the batching for the entire link set. More... | |
Public Member Functions inherited from btSoftBodyLinkData | |
btSoftBodyLinkData () | |
virtual | ~btSoftBodyLinkData () |
virtual void | clear () |
int | getNumLinks () |
LinkNodePair & | getVertexPair (int linkIndex) |
Return reference to the vertex index pair for link linkIndex as stored on the host. More... | |
float & | getStrength (int linkIndex) |
Return reference to strength of link linkIndex as stored on the host. More... | |
virtual float & | getStrengthCorrected (int linkIndex) |
Return a reference to the strength of the link corrected for link sorting. More... | |
float & | getRestLength (int linkIndex) |
Return reference to the rest length of link linkIndex as stored on the host. More... | |
float & | getLinearStiffnessCoefficient (int linkIndex) |
Return reference to linear stiffness coefficient for link linkIndex as stored on the host. More... | |
float & | getMassLSC (int linkIndex) |
Return reference to the MassLSC value for link linkIndex as stored on the host. More... | |
float & | getRestLengthSquared (int linkIndex) |
Return reference to rest length squared for link linkIndex as stored on the host. More... | |
Vectormath::Aos::Vector3 & | getCurrentLength (int linkIndex) |
Return reference to current length of link linkIndex as stored on the host. More... | |
float & | getLinkLengthRatio (int linkIndex) |
Return the link length ratio from for link linkIndex as stored on the host. More... | |
Public Attributes | |
bool | m_onGPU |
ID3D11Device * | m_d3dDevice |
ID3D11DeviceContext * | m_d3dDeviceContext |
btDX11Buffer< LinkNodePair > | m_dx11Links |
btDX11Buffer< float > | m_dx11LinkStrength |
btDX11Buffer< float > | m_dx11LinksMassLSC |
btDX11Buffer< float > | m_dx11LinksRestLengthSquared |
btDX11Buffer < Vectormath::Aos::Vector3 > | m_dx11LinksCLength |
btDX11Buffer< float > | m_dx11LinksLengthRatio |
btDX11Buffer< float > | m_dx11LinksRestLength |
btDX11Buffer< float > | m_dx11LinksMaterialLinearStiffnessCoefficient |
btAlignedObjectArray< int > | m_linkAddresses |
Link addressing information for each cloth. More... | |
btAlignedObjectArray< BatchPair > | m_batchStartLengths |
Start and length values for computation batches over link data. More... | |
Additional Inherited Members | |
Protected Attributes inherited from btSoftBodyLinkData | |
btAlignedObjectArray < LinkNodePair > | m_links |
btAlignedObjectArray< float > | m_linkStrength |
btAlignedObjectArray< float > | m_linksMassLSC |
btAlignedObjectArray< float > | m_linksRestLengthSquared |
btAlignedObjectArray < Vectormath::Aos::Vector3 > | m_linksCLength |
btAlignedObjectArray< float > | m_linksLengthRatio |
btAlignedObjectArray< float > | m_linksRestLength |
btAlignedObjectArray< float > | m_linksMaterialLinearStiffnessCoefficient |
Definition at line 28 of file btSoftBodySolverLinkData_DX11.h.
btSoftBodyLinkDataDX11::btSoftBodyLinkDataDX11 | ( | ID3D11Device * | d3dDevice, |
ID3D11DeviceContext * | d3dDeviceContext | ||
) |
|
virtual |
Definition at line 67 of file btSoftBodySolver_DX11.cpp.
|
virtual |
Allocate enough space in all link-related arrays to fit numLinks links.
Reimplemented from btSoftBodyLinkData.
Definition at line 77 of file btSoftBodySolver_DX11.cpp.
void btSoftBodyLinkDataDX11::generateBatches | ( | ) |
Generate (and later update) the batching for the entire link set.
This redoes a lot of work because it batches the entire set when each cloth is inserted. In theory we could delay it until just before we need the cloth. It's a one-off overhead, though, so that is a later optimisation.
Definition at line 137 of file btSoftBodySolver_DX11.cpp.
|
virtual |
Move data from host memory from the accelerator.
The CPU version will always return that it has moved it.
Reimplemented from btSoftBodyLinkData.
Definition at line 119 of file btSoftBodySolver_DX11.cpp.
|
virtual |
Move data from host memory to the accelerator.
The CPU version will always return that it has moved it.
Reimplemented from btSoftBodyLinkData.
Definition at line 101 of file btSoftBodySolver_DX11.cpp.
|
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 btSoftBodyLinkData.
Definition at line 96 of file btSoftBodySolver_DX11.cpp.
|
virtual |
Insert the link described into the correct data structures assuming space has already been allocated by a call to createLinks.
Reimplemented from btSoftBodyLinkData.
Definition at line 88 of file btSoftBodySolver_DX11.cpp.
btAlignedObjectArray< BatchPair > btSoftBodyLinkDataDX11::m_batchStartLengths |
Start and length values for computation batches over link data.
Definition at line 72 of file btSoftBodySolverLinkData_DX11.h.
ID3D11Device* btSoftBodyLinkDataDX11::m_d3dDevice |
Definition at line 32 of file btSoftBodySolverLinkData_DX11.h.
ID3D11DeviceContext* btSoftBodyLinkDataDX11::m_d3dDeviceContext |
Definition at line 33 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<LinkNodePair> btSoftBodyLinkDataDX11::m_dx11Links |
Definition at line 36 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<Vectormath::Aos::Vector3> btSoftBodyLinkDataDX11::m_dx11LinksCLength |
Definition at line 40 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<float> btSoftBodyLinkDataDX11::m_dx11LinksLengthRatio |
Definition at line 41 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<float> btSoftBodyLinkDataDX11::m_dx11LinksMassLSC |
Definition at line 38 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<float> btSoftBodyLinkDataDX11::m_dx11LinksMaterialLinearStiffnessCoefficient |
Definition at line 43 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<float> btSoftBodyLinkDataDX11::m_dx11LinksRestLength |
Definition at line 42 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<float> btSoftBodyLinkDataDX11::m_dx11LinksRestLengthSquared |
Definition at line 39 of file btSoftBodySolverLinkData_DX11.h.
btDX11Buffer<float> btSoftBodyLinkDataDX11::m_dx11LinkStrength |
Definition at line 37 of file btSoftBodySolverLinkData_DX11.h.
btAlignedObjectArray< int > btSoftBodyLinkDataDX11::m_linkAddresses |
Link addressing information for each cloth.
Allows link locations to be computed independently of data batching.
Definition at line 67 of file btSoftBodySolverLinkData_DX11.h.
bool btSoftBodyLinkDataDX11::m_onGPU |
Definition at line 31 of file btSoftBodySolverLinkData_DX11.h.