Blender  V3.3
Static Public Member Functions | List of all members
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 btSoftBody * CreateRope (btSoftBodyWorldInfo &worldInfo, const btVector3 &from, const btVector3 &to, int res, int fixeds)
 
static btSoftBody * 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 btSoftBody * 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 float CalculateUV (int resx, int resy, int ix, int iy, int id)
 
static btSoftBody * CreateEllipsoid (btSoftBodyWorldInfo &worldInfo, const btVector3 &center, const btVector3 &radius, int res)
 
static btSoftBody * CreateFromTriMesh (btSoftBodyWorldInfo &worldInfo, const btScalar *vertices, const int *triangles, int ntriangles, bool randomizeConstraints=true)
 
static btSoftBody * CreateFromConvexHull (btSoftBodyWorldInfo &worldInfo, const btVector3 *vertices, int nvertices, bool randomizeConstraints=true)
 
static btSoftBody * CreateFromTetGenData (btSoftBodyWorldInfo &worldInfo, const char *ele, const char *face, const char *node, bool bfacelinks, bool btetralinks, bool bfacesfromtetras)
 
static btSoftBody * CreateFromVtkFile (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()

btSoftBody * btSoftBodyHelpers::CreateFromConvexHull ( btSoftBodyWorldInfo &  worldInfo,
const btVector3 *  vertices,
int  nvertices,
bool  randomizeConstraints = true 
)
static

◆ 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()

btSoftBody * btSoftBodyHelpers::CreateFromVtkFile ( btSoftBodyWorldInfo &  worldInfo,
const char *  vtk_file 
)
static

◆ 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(), btVector3, from, lerp(), r, btSoftBody::setMass(), t, and x.

◆ Draw()

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

Definition at line 171 of file btSoftBodyHelpers.cpp.

References Freestyle::a, add(), fDrawFlags::Anchors, btSoftBody::Joint::eType::Angular, average(), btCross(), btDot(), btVector3, Freestyle::c, center, 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(), fDrawFlags::Joints, l, btSoftBody::Joint::eType::Linear, fDrawFlags::Links, btSoftBody::m_anchors, btSoftBody::Joint::m_bodies, btSoftBody::m_clusters, btSoftBody::Note::m_coords, btSoftBody::m_faces, btSoftBody::Material::m_flags, btSoftBody::Node::m_im, HullResult::m_Indices, btSoftBody::m_joints, btSoftBody::m_links, btSoftBody::Feature::m_material, btSoftBody::Node::m_n, btSoftBody::Face::m_n, btSoftBody::Note::m_nodes, btSoftBody::m_nodes, btSoftBody::m_notes, btSoftBody::Note::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, r, HullLibrary::ReleaseResult(), btAlignedObjectArray< T >::resize(), btAlignedObjectArray< T >::size(), stride, t, fDrawFlags::Tetras, btSoftBody::Joint::Type(), v, v1, v2, btConvexHullComputer::vertices, x, btSoftBody::Body::xform(), and y.

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()

void btSoftBodyHelpers::DrawFrame ( btSoftBody *  psb,
btIDebugDraw *  idraw 
)
static

◆ 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()

void btSoftBodyHelpers::extrapolateBarycentricWeights ( btSoftBody *  psb)
static

◆ 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

◆ 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 Freestyle::a, usdtokens::b(), btDot(), btVector3, Freestyle::c, v1, and v2.

◆ interpolateBarycentricWeights()

void btSoftBodyHelpers::interpolateBarycentricWeights ( btSoftBody *  psb)
static

◆ 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: