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

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: