Blender V4.3
btSoftBodyHelpers Struct Reference

#include <btSoftBodyHelpers.h>

Static Public Member Functions

static void Draw (btSoftBody *psb, btIDebugDraw *idraw, int drawflags=fDrawFlags::Std)
 
static void DrawInfos (btSoftBody *psb, btIDebugDraw *idraw, bool masses, bool areas, bool stress)
 
static void DrawNodeTree (btSoftBody *psb, btIDebugDraw *idraw, int mindepth=0, int maxdepth=-1)
 
static void DrawFaceTree (btSoftBody *psb, btIDebugDraw *idraw, int mindepth=0, int maxdepth=-1)
 
static void DrawClusterTree (btSoftBody *psb, btIDebugDraw *idraw, int mindepth=0, int maxdepth=-1)
 
static void DrawFrame (btSoftBody *psb, btIDebugDraw *idraw)
 
static btSoftBodyCreateRope (btSoftBodyWorldInfo &worldInfo, const btVector3 &from, const btVector3 &to, int res, int fixeds)
 
static btSoftBodyCreatePatch (btSoftBodyWorldInfo &worldInfo, const btVector3 &corner00, const btVector3 &corner10, const btVector3 &corner01, const btVector3 &corner11, int resx, int resy, int fixeds, bool gendiags, btScalar perturbation=0.)
 
static btSoftBodyCreatePatchUV (btSoftBodyWorldInfo &worldInfo, const btVector3 &corner00, const btVector3 &corner10, const btVector3 &corner01, const btVector3 &corner11, int resx, int resy, int fixeds, bool gendiags, float *tex_coords=0)
 
static float CalculateUV (int resx, int resy, int ix, int iy, int id)
 
static btSoftBodyCreateEllipsoid (btSoftBodyWorldInfo &worldInfo, const btVector3 &center, const btVector3 &radius, int res)
 
static btSoftBodyCreateFromTriMesh (btSoftBodyWorldInfo &worldInfo, const btScalar *vertices, const int *triangles, int ntriangles, bool randomizeConstraints=true)
 
static btSoftBodyCreateFromConvexHull (btSoftBodyWorldInfo &worldInfo, const btVector3 *vertices, int nvertices, bool randomizeConstraints=true)
 
static btSoftBodyCreateFromTetGenData (btSoftBodyWorldInfo &worldInfo, const char *ele, const char *face, const char *node, bool bfacelinks, bool btetralinks, bool bfacesfromtetras)
 
static btSoftBodyCreateFromVtkFile (btSoftBodyWorldInfo &worldInfo, const char *vtk_file)
 
static void writeObj (const char *file, const btSoftBody *psb)
 
static void getBarycentricWeights (const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d, const btVector3 &p, btVector4 &bary)
 
static void getBarycentricWeights (const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &p, btVector4 &bary)
 
static void interpolateBarycentricWeights (btSoftBody *psb)
 
static void extrapolateBarycentricWeights (btSoftBody *psb)
 
static void generateBoundaryFaces (btSoftBody *psb)
 
static void duplicateFaces (const char *filename, const btSoftBody *psb)
 
static void ReoptimizeLinkOrder (btSoftBody *psb)
 

Detailed Description

Definition at line 50 of file btSoftBodyHelpers.h.

Member Function Documentation

◆ CalculateUV()

float btSoftBodyHelpers::CalculateUV ( int resx,
int resy,
int ix,
int iy,
int id )
static

Definition at line 968 of file btSoftBodyHelpers.cpp.

Referenced by CreatePatchUV().

◆ CreateEllipsoid()

btSoftBody * btSoftBodyHelpers::CreateEllipsoid ( btSoftBodyWorldInfo & worldInfo,
const btVector3 & center,
const btVector3 & radius,
int res )
static

◆ CreateFromConvexHull()

◆ CreateFromTetGenData()

btSoftBody * btSoftBodyHelpers::CreateFromTetGenData ( btSoftBodyWorldInfo & worldInfo,
const char * ele,
const char * face,
const char * node,
bool bfacelinks,
bool btetralinks,
bool bfacesfromtetras )
static

◆ CreateFromTriMesh()

btSoftBody * btSoftBodyHelpers::CreateFromTriMesh ( btSoftBodyWorldInfo & worldInfo,
const btScalar * vertices,
const int * triangles,
int ntriangles,
bool randomizeConstraints = true )
static

◆ CreateFromVtkFile()

◆ CreatePatch()

btSoftBody * btSoftBodyHelpers::CreatePatch ( btSoftBodyWorldInfo & worldInfo,
const btVector3 & corner00,
const btVector3 & corner10,
const btVector3 & corner01,
const btVector3 & corner11,
int resx,
int resy,
int fixeds,
bool gendiags,
btScalar perturbation = 0. )
static

◆ CreatePatchUV()

btSoftBody * btSoftBodyHelpers::CreatePatchUV ( btSoftBodyWorldInfo & worldInfo,
const btVector3 & corner00,
const btVector3 & corner10,
const btVector3 & corner01,
const btVector3 & corner11,
int resx,
int resy,
int fixeds,
bool gendiags,
float * tex_coords = 0 )
static

◆ CreateRope()

btSoftBody * btSoftBodyHelpers::CreateRope ( btSoftBodyWorldInfo & worldInfo,
const btVector3 & from,
const btVector3 & to,
int res,
int fixeds )
static

Definition at line 690 of file btSoftBodyHelpers.cpp.

References btSoftBody::appendLink(), lerp, btSoftBody::setMass(), and x.

◆ Draw()

void btSoftBodyHelpers::Draw ( btSoftBody * psb,
btIDebugDraw * idraw,
int drawflags = fDrawFlags::Std )
static

Definition at line 171 of file btSoftBodyHelpers.cpp.

References add(), fDrawFlags::Anchors, btSoftBody::Joint::eType::Angular, average(), btCross(), btDot(), btVector3, fDrawFlags::Clusters, fDrawFlags::ClusterTree, col, color, fDrawFlags::Contacts, count, HullLibrary::CreateConvexHull(), btSoftBody::fMaterial::DebugDraw, btIDebugDraw::draw3dText(), DrawClusterTree(), DrawFaceTree(), btIDebugDraw::drawLine(), DrawNodeTree(), btIDebugDraw::drawTriangle(), drawVertex(), btConvexHullComputer::edges, fDrawFlags::Faces, btConvexHullComputer::faces, fDrawFlags::FaceTree, btConvexHullComputer::Edge::getNextEdgeOfFace(), btConvexHullComputer::Edge::getSourceVertex(), btConvexHullComputer::Edge::getTargetVertex(), getX(), int, fDrawFlags::Joints, l, btSoftBody::Joint::eType::Linear, fDrawFlags::Links, btSoftBody::m_anchors, btSoftBody::Cluster::m_av, btSoftBody::Joint::m_bodies, btSoftBody::m_clusters, btSoftBody::Cluster::m_com, btSoftBody::Note::m_coords, btSoftBody::RContact::m_cti, btSoftBody::m_faces, btSoftBody::Material::m_flags, btSoftBody::Node::m_im, HullResult::m_Indices, btSoftBody::m_joints, btSoftBody::m_links, btSoftBody::Cluster::m_lv, btSoftBody::Feature::m_material, btSoftBody::Face::m_n, btSoftBody::Node::m_n, btSoftBody::Tetra::m_n, btSoftBody::RContact::m_node, btSoftBody::Cluster::m_nodes, btSoftBody::m_nodes, btSoftBody::Note::m_nodes, btSoftBody::sCti::m_normal, btSoftBody::m_notes, btSoftBody::Note::m_offset, btSoftBody::sCti::m_offset, HullResult::m_OutputVertices, btSoftBody::Note::m_rank, btSoftBody::m_rcontacts, btSoftBody::Joint::m_refs, btSoftBody::m_tetras, btSoftBody::Note::m_text, btSoftBody::Node::m_x, HullDesc::mMaxVertices, HullResult::mNumFaces, mul(), fDrawFlags::Nodes, fDrawFlags::NodeTree, fDrawFlags::Normals, fDrawFlags::Notes, QF_TRIANGLES, HullLibrary::ReleaseResult(), btAlignedObjectArray< T >::resize(), btAlignedObjectArray< T >::size(), fDrawFlags::Tetras, btSoftBody::Joint::Type(), v, v2, btConvexHullComputer::vertices, and btSoftBody::Body::xform().

Referenced by btDeformableMultiBodyDynamicsWorld::debugDrawWorld(), btSoftMultiBodyDynamicsWorld::debugDrawWorld(), and btSoftRigidDynamicsWorld::debugDrawWorld().

◆ DrawClusterTree()

void btSoftBodyHelpers::DrawClusterTree ( btSoftBody * psb,
btIDebugDraw * idraw,
int mindepth = 0,
int maxdepth = -1 )
static

◆ DrawFaceTree()

void btSoftBodyHelpers::DrawFaceTree ( btSoftBody * psb,
btIDebugDraw * idraw,
int mindepth = 0,
int maxdepth = -1 )
static

◆ DrawFrame()

◆ DrawInfos()

void btSoftBodyHelpers::DrawInfos ( btSoftBody * psb,
btIDebugDraw * idraw,
bool masses,
bool areas,
bool stress )
static

◆ DrawNodeTree()

void btSoftBodyHelpers::DrawNodeTree ( btSoftBody * psb,
btIDebugDraw * idraw,
int mindepth = 0,
int maxdepth = -1 )
static

◆ duplicateFaces()

void btSoftBodyHelpers::duplicateFaces ( const char * filename,
const btSoftBody * psb )
static

◆ extrapolateBarycentricWeights()

◆ generateBoundaryFaces()

void btSoftBodyHelpers::generateBoundaryFaces ( btSoftBody * psb)
static

◆ getBarycentricWeights() [1/2]

void btSoftBodyHelpers::getBarycentricWeights ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c,
const btVector3 & d,
const btVector3 & p,
btVector4 & bary )
static

Definition at line 1532 of file btSoftBodyHelpers.cpp.

References b, and dot().

Referenced by extrapolateBarycentricWeights(), and interpolateBarycentricWeights().

◆ getBarycentricWeights() [2/2]

void btSoftBodyHelpers::getBarycentricWeights ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c,
const btVector3 & p,
btVector4 & bary )
static

Definition at line 1552 of file btSoftBodyHelpers.cpp.

References b, btDot(), and v2.

◆ interpolateBarycentricWeights()

◆ ReoptimizeLinkOrder()

void btSoftBodyHelpers::ReoptimizeLinkOrder ( btSoftBody * psb)
static

Sort the list of links to move link calculations that are dependent upon earlier ones as far as possible away from the calculation of those values This tends to make adjacent loop iterations not dependent upon one another, so out-of-order processors can execute instructions from multiple iterations at once

Definition at line 542 of file btSoftBodyHelpers.cpp.

References btSoftBody::m_links, btSoftBody::m_nodes, LinkDeps_t::next, NULL, REOP_NODE_COMPLETE, REOP_NOT_DEPENDENT, btAlignedObjectArray< T >::size(), and LinkDeps_t::value.

◆ writeObj()

void btSoftBodyHelpers::writeObj ( const char * file,
const btSoftBody * psb )
static

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