My Project: dgCollisionDeformableClothPatch Class Reference

My Project

Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
dgCollisionDeformableClothPatch Class Reference

`#include <dgCollisionDeformableClothPatch.h>`

Inheritance diagram for dgCollisionDeformableClothPatch:

## Classes

class | dgClothLink
class | dgEdgePair
class | dgSoftBodyEdge

## Public Member Functions

| dgCollisionDeformableClothPatch (const dgCollisionDeformableClothPatch &source)
| dgCollisionDeformableClothPatch (dgWorld *const world, dgMeshEffect *const mesh, const dgClothPatchMaterial &structuralMaterial, const dgClothPatchMaterial &bendMaterial)
| dgCollisionDeformableClothPatch (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollisionDeformableClothPatch (void)
Public Member Functions inherited from dgCollisionDeformableMesh
| dgCollisionDeformableMesh (const dgCollisionDeformableMesh &source)
| dgCollisionDeformableMesh (dgWorld *const world, dgMeshEffect *const mesh, dgCollisionID collsionID)
| dgCollisionDeformableMesh (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollisionDeformableMesh (void)
dgBody * | GetBody () const
dgInt32 | GetParticleCount () const
dgVector | GetParticlePosition (dgInt32 index) const
void | SetOnDebugDisplay (dgCollision::OnDebugCollisionMeshCallback debugDisplay)
void | UpdateVisualNormals ()
dgInt32 | GetVisualPointsCount () const
void | SetSkinThickness (dgFloat32 skinThickness)
void | GetVisualVertexData (dgInt32 vertexStrideInByte, dgFloat32 *const vertex, dgInt32 normalStrideInByte, dgFloat32 *const normals, dgInt32 uvStrideInByte0, dgFloat32 *const uv0)
void * | GetFirtVisualSegment () const
void * | GetNextVisualSegment (void *const segment) const
dgInt32 | GetSegmentMaterial (void *const segment) const
dgInt32 | GetSegmentIndexCount (void *const segment) const
const dgInt32 * | GetSegmentIndexList (void *const segment) const
Public Member Functions inherited from dgCollisionConvex
virtual dgFloat32 | RayCast (const dgVector &localP0, const dgVector &localP1, dgFloat32 maxT, dgContactPoint &contactOut, const dgBody *const body, void *const userData, OnRayPrecastAction preFilter) const
virtual dgFloat32 | ConvexRayCast (const dgCollisionInstance *const convexShape, const dgMatrix &origin, const dgVector &veloc, dgFloat32 maxT, dgContactPoint &contactOut, const dgBody *const referenceBody, const dgCollisionInstance *const referenceInstance, void *const userData, dgInt32 threadId) const
virtual dgVector | SupportVertex (const dgVector &dir, dgInt32 *const vertexIndex) const
virtual dgInt32 | CalculatePlaneIntersection (const dgVector &normal, const dgVector &point, dgVector *const contactsOut, dgFloat32 normalSign) const
virtual dgInt32 | GetConvexVertexCount () const
bool | IntesectionTest (dgCollisionParamProxy &proxy) const
bool | CalculateClosestPoints (dgCollisionParamProxy &proxy) const
dgInt32 | CalculateConvexCastContacts (dgCollisionParamProxy &proxy) const
dgInt32 | CalculateConvexToConvexContact (dgCollisionParamProxy &proxy) const
Public Member Functions inherited from dgCollision
dgInt32 | IsType (dgRTTI type) const
dgUnsigned32 | GetSignature () const
dgCollisionID | GetCollisionPrimityType () const
virtual dgFloat32 | GetSkinThickness () const
virtual void | GetCollisionInfo (dgCollisionInfo *const info) const
const dgCollision * | AddRef () const
dgInt32 | GetRefCount () const
virtual dgInt32 | Release () const
const dgVector & | GetObbOrigin () const
virtual dgVector | GetObbSize () const
dgFloat32 | GetUmbraClipSize () const
dgMemoryAllocator * | GetAllocator () const

## Protected Member Functions

void | Serialize (dgSerialize callback, void *const userData) const
virtual dgInt32 | CalculateSignature () const
virtual void | SetMass (dgFloat32 mass)
virtual void | SetMatrix (const dgMatrix &matrix)
virtual void | ApplyExternalForces (dgFloat32 timestep)
virtual void | ResolvePositionsConstraints (dgFloat32 timestep)
virtual void | CreateClusters (dgInt32 count, dgFloat32 overlaringWidth)
virtual void | EndConfiguration ()
virtual void | ConstraintParticle (dgInt32 particleIndex, const dgVector &posit, const dgBody *const body)
Protected Member Functions inherited from dgCollisionDeformableMesh
virtual void | SetCollisionBBox (const dgVector &p0, const dgVector &p1)
virtual void | DebugCollision (const dgMatrix &matrixPtr, dgCollision::OnDebugCollisionMeshCallback callback, void *const userData) const
virtual void | CalcAABB (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const
bool | SanityCheck () const
void | ImproveTotalFitness ()
void | ImproveNodeFitness (dgDeformableNode *const node)
dgDeformableNode * | BuildTopDown (dgInt32 count, dgDeformableNode *const children, dgDeformableNode *const parent)
dgFloat32 | CalculateSurfaceArea (const dgDeformableNode *const node0, const dgDeformableNode *const node1, dgVector &minBox, dgVector &maxBox) const
dgInt32 | CalculateContacts (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy)
dgFloat32 | CalculateMassProperties (const dgMatrix &offset, dgVector &inertia, dgVector &crossInertia, dgVector &centerOfMass) const
Protected Member Functions inherited from dgCollisionConvex
| dgCollisionConvex (dgMemoryAllocator *const allocator, dgUnsigned32 signature, dgCollisionID id)
| dgCollisionConvex (dgWorld *const world, dgDeserialize deserialization, void *const userData)
| ~dgCollisionConvex ()
virtual void | SerializeLow (dgSerialize callback, void *const userData) const
virtual dgVector | CalculateVolumeIntegral (const dgMatrix &globalMatrix, const dgVector &plane, const dgCollisionInstance &parentScale) const
virtual dgFloat32 | GetVolume () const
virtual dgFloat32 | GetBoxMinRadius () const
virtual dgFloat32 | GetBoxMaxRadius () const
virtual void * | GetUserData () const
virtual void | SetUserData (void *const userData)
dgInt32 | RayCastClosestFace (dgVector *tetrahedrum, const dgVector &origin, dgFloat32 &pointDist) const
dgInt32 | SimplifyClipPolygon (dgInt32 count, const dgVector &normal, dgVector *const polygon) const
dgVector | CalculateVolumeIntegral (const dgPlane &plane) const
void | SetVolumeAndCG ()
bool | SanityCheck (dgPolyhedra &hull) const
virtual void | MassProperties ()
virtual dgMatrix | CalculateInertiaAndCenterOfMass (const dgMatrix &m_alignMatrix, const dgVector &localScale, const dgMatrix &matrix) const
bool | SanityCheck (dgInt32 count, const dgVector &normal, dgVector *const contactsOut) const
dgPerimenterEdge * | ReduceContacts (dgPerimenterEdge *poly, dgInt32 maxCount) const
dgInt32 | RectifyConvexSlice (dgInt32 count, const dgVector &normal, dgVector *const contactsOut) const
virtual dgVector | ConvexConicSupporVertex (const dgVector &dir) const
virtual dgVector | ConvexConicSupporVertex (const dgVector &point, const dgVector &dir) const
virtual dgInt32 | CalculateContacts (const dgVector &point, const dgVector &normal, dgCollisionParamProxy &proxy, dgVector *const contactsOut) const
dgInt32 | CalculateContactsGeneric (const dgVector &point, const dgVector &normal, dgCollisionParamProxy &proxy, dgVector *const contactsOut) const
dgInt32 | ConvexPolygonsIntersection (const dgVector &nornal, dgInt32 count1, dgVector *const shape1, dgInt32 count2, dgVector *const shape2, dgVector *const contactOut, dgInt32 maxContacts) const
dgInt32 | ConvexPolygonToLineIntersection (const dgVector &normal, dgInt32 count1, dgVector *const shape1, dgInt32 count2, dgVector *const shape2, dgVector *const contactOut, dgVector *const mem) const
dgFloat32 | ConvexConicConvexRayCast (const dgCollisionInstance *const convexConicShape, const dgMatrix &conicShapeMatrix, const dgCollisionInstance *const convexCastingShape, const dgMatrix &castingMatrix, const dgVector &castingVeloc, dgFloat32 maxT, dgContactPoint &contactOut) const
virtual const dgConvexSimplexEdge ** | GetVertexToEdgeMapping () const
Protected Member Functions inherited from dgCollision
| dgCollision (const dgCollision &source)
| dgCollision (dgMemoryAllocator *const allocator, dgUnsigned32 signature, dgCollisionID id)
| dgCollision (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollision ()
void | SetSignature (dgInt32 signature)

## Protected Attributes

dgClothPatchMaterial | m_materials [2]
dgInt32 | m_linksCount
dgInt32 | m_graphCount
dgVector * | m_posit
dgInt32 * | m_linkOrder
dgClothLink * | m_links
dgSoftBodyEdge * | m_graph
dgSoftBodyEdge ** | m_particleToEddgeMap
Protected Attributes inherited from dgCollisionDeformableMesh
dgVector | m_basePosit
dgParticle | m_particles
dgList< dgMeshSegment > | m_visualSegments
dgFloat32 | m_skinThickness
dgInt32 | m_nodesCount
dgInt32 | m_trianglesCount
dgInt32 | m_visualVertexCount
dgWorld * | m_world
dgDeformableBody * | m_myBody
dgInt32 * | m_indexList
dgVector * | m_faceNormals
dgDeformableNode * | m_rootNode
dgDeformableNode * | m_nodesMemory
dgVisualVertexData * | m_visualVertexData
dgCollision::OnDebugCollisionMeshCallback | m_onDebugDisplay
bool | m_isdoubleSided
Protected Attributes inherited from dgCollisionConvex
void * | m_userData
dgVector * | m_vertex
dgConvexSimplexEdge * | m_simplex
dgFloat32 | m_boxMinRadius
dgFloat32 | m_boxMaxRadius
dgFloat32 | m_simplexVolume
dgUnsigned16 | m_edgeCount
dgUnsigned16 | m_vertexCount
Protected Attributes inherited from dgCollision
dgVector | m_inertia
dgVector | m_crossInertia
dgVector | m_centerOfMass
dgVector | m_boxSize
dgVector | m_boxOrigin
dgInt32 | m_rtti
dgInt32 | m_refCount
dgUnsigned32 | m_signature
dgCollisionID | m_collisionId
dgMemoryAllocator * | m_allocator

## Friends

class | dgWorld

## Additional Inherited Members

Public Types inherited from dgCollision

enum

dgRTTI {
dgCollisionNull_RTTI = 1<<0, dgCollisionBox_RTTI = 1<<1, dgCollisionCone_RTTI = 1<<2, dgCollisionSphere_RTTI = 1<<3,
dgCollisionCapsule_RTTI = 1<<4, dgCollisionCylinder_RTTI = 1<<5, dgCollisionConvexHull_RTTI = 1<<6, dgCollisionTaperedCapsule_RTTI = 1<<7,
dgCollisionTaperedCylinder_RTTI = 1<<8, dgCollisionChamferCylinder_RTTI = 1<<9, dgCollisionConvexPolygon_RTTI = 1<<10, dgCollisionConvexShape_RTTI = 1<<11,
dgCollisionCompound_RTTI = 1<<12, dgCollisionBVH_RTTI = 1<<13, dgCollisionMesh_RTTI = 1<<14, dgCollisionDeformableMesh_RTTI = 1<<15,
dgCollisionDeformableSolidMesh_RTTI = 1<<16, dgCollisionDeformableClothPatch_RTTI = 1<<17, dgCollisionUserMesh_RTTI = 1<<18, dgCollisionHeightField_RTTI = 1<<19,
dgCollisionScene_RTTI = 1<<20, dgCollisionCompoundBreakable_RTTI = 1<<21
}

typedef void(dgApi * | OnDebugCollisionMeshCallback) (void *userData, int vertexCount, const dgFloat32 *FaceArray, int faceId)
Static Public Member Functions inherited from dgCollision
static dgUnsigned32 | Quantize (dgFloat32 value)
static dgUnsigned32 | Quantize (void *buffer, int size)
Static Public Attributes inherited from dgCollisionConvex
static dgVector | m_hullDirs [14]
static dgVector | m_dummySum [4]
static dgInt32 | m_rayCastSimplex [4][4]
static dgCollisionPriority | m_priorityOrder
Static Protected Member Functions inherited from dgCollisionConvex
static void | CalculateInertia (void *userData, int vertexCount, const dgFloat32 *const FaceArray, int faceId)

## Constructor & Destructor Documentation

## § dgCollisionDeformableClothPatch() [1/3]

dgCollisionDeformableClothPatch::dgCollisionDeformableClothPatch | ( | const dgCollisionDeformableClothPatch & | source | ) |

## § dgCollisionDeformableClothPatch() [2/3]

dgCollisionDeformableClothPatch::dgCollisionDeformableClothPatch | ( | dgWorld *const | world,
|  | dgMeshEffect *const | mesh,
|  | const dgClothPatchMaterial & | structuralMaterial,
|  | const dgClothPatchMaterial & | bendMaterial
| ) |  |

## § dgCollisionDeformableClothPatch() [3/3]

dgCollisionDeformableClothPatch::dgCollisionDeformableClothPatch | ( | dgWorld *const | world,
|  | dgDeserialize | deserialization,
|  | void *const | userData
| ) |  |

## § ~dgCollisionDeformableClothPatch()

dgCollisionDeformableClothPatch::~dgCollisionDeformableClothPatch | ( | void |  | ) |

virtual

## Member Function Documentation

## § ApplyExternalForces()

void dgCollisionDeformableClothPatch::ApplyExternalForces | ( | dgFloat32 | timestep | ) |

protectedvirtual

Implements dgCollisionDeformableMesh.

## § CalculateSignature()

dgInt32 dgCollisionDeformableClothPatch::CalculateSignature | ( |  | ) | const

protectedvirtual

Implements dgCollision.

## § ConstraintParticle()

void dgCollisionDeformableClothPatch::ConstraintParticle | ( | dgInt32 | particleIndex,
|  | const dgVector & | posit,
|  | const dgBody *const | body
| ) |  |

protectedvirtual

Implements dgCollisionDeformableMesh.

## § CreateClusters()

void dgCollisionDeformableClothPatch::CreateClusters | ( | dgInt32 | count,
|  | dgFloat32 | overlaringWidth
| ) |  |

protectedvirtual

Implements dgCollisionDeformableMesh.

## § EndConfiguration()

void dgCollisionDeformableClothPatch::EndConfiguration | ( |  | ) |

protectedvirtual

Implements dgCollisionDeformableMesh.

## § ResolvePositionsConstraints()

void dgCollisionDeformableClothPatch::ResolvePositionsConstraints | ( | dgFloat32 | timestep | ) |

protectedvirtual

Implements dgCollisionDeformableMesh.

## § Serialize()

void dgCollisionDeformableClothPatch::Serialize | ( | dgSerialize | callback,
|  | void *const | userData
| ) |  | const

protectedvirtual

Implements dgCollision.

## § SetMass()

void dgCollisionDeformableClothPatch::SetMass | ( | dgFloat32 | mass | ) |

protectedvirtual

Implements dgCollisionDeformableMesh.

## § SetMatrix()

void dgCollisionDeformableClothPatch::SetMatrix | ( | const dgMatrix & | matrix | ) |

protectedvirtual

Implements dgCollisionDeformableMesh.

## Friends And Related Function Documentation

## § dgWorld

friend class dgWorld

friend

## Member Data Documentation

## § m_graph

dgSoftBodyEdge* dgCollisionDeformableClothPatch::m_graph

protected

## § m_graphCount

dgInt32 dgCollisionDeformableClothPatch::m_graphCount

protected

## § m_linkOrder

dgInt32* dgCollisionDeformableClothPatch::m_linkOrder

protected

## § m_links

dgClothLink* dgCollisionDeformableClothPatch::m_links

protected

## § m_linksCount

dgInt32 dgCollisionDeformableClothPatch::m_linksCount

protected

## § m_materials

dgClothPatchMaterial dgCollisionDeformableClothPatch::m_materials[2]

protected

## § m_particleToEddgeMap

dgSoftBodyEdge** dgCollisionDeformableClothPatch::m_particleToEddgeMap

protected

## § m_posit

dgVector* dgCollisionDeformableClothPatch::m_posit

protected

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

- dynamics.mod/NewtonDynamics/source/physics/dgCollisionDeformableClothPatch.h
- dynamics.mod/NewtonDynamics/source/physics/dgCollisionDeformableClothPatch.cpp