BulletSoftBodyNode

from panda3d.bullet import BulletSoftBodyNode
class BulletSoftBodyNode

Bases:

Bases: BulletBodyNode

Inheritance diagram

Inheritance diagram of BulletSoftBodyNode

property aabb → BoundingBox
addForce(force: panda3d.core.LVector3)
addForce(force: panda3d.core.LVector3, node: int)
addVelocity(velocity: panda3d.core.LVector3)
addVelocity(velocity: panda3d.core.LVector3, node: int)
appendAnchor(node: int, body: BulletRigidBodyNode, pivot: panda3d.core.LVector3, disable: bool)
appendAnchor(node: int, body: BulletRigidBodyNode, disable: bool)

Anchors

appendAngularJoint(body: BulletBodyNode, axis: panda3d.core.LVector3, erp: float, cfm: float, split: float, control: BulletSoftBodyControl)
appendLinearJoint(body: BulletBodyNode, pos: panda3d.core.LPoint3, erp: float, cfm: float, split: float)
appendLinearJoint(body: BulletBodyNode, cluster: int, erp: float, cfm: float, split: float)
appendMaterial() → BulletSoftBodyMaterial
property cfg → BulletSoftBodyConfig
clusterCom(cluster: int) → panda3d.core.LVecBase3
generateBendingConstraints(distance: int, material: BulletSoftBodyMaterial)
generateClusters(k: int, maxiterations: int)

Cluster

getAabb() → panda3d.core.BoundingBox
getCfg() → BulletSoftBodyConfig
static getClassType() → panda3d.core.TypeHandle
getClosestNodeIndex(point: panda3d.core.LVecBase3, local: bool) → int

Returns the index of the node which is closest to the given point. The distance between each node and the given point is computed in world space if local=false, and in local space if local=true.

getMass(node: int) → float
getMaterial(idx: int) → BulletSoftBodyMaterial
getMaterials() → list
getNode(idx: int) → BulletSoftBodyNodeElement
getNodes() → list
getNumClusters() → int
getNumMaterials() → int

Materials

getNumNodes() → int
getTotalMass() → float
getVolume() → float
getWindVelocity() → panda3d.core.LVector3
getWorldInfo() → BulletSoftBodyWorldInfo
linkCurve(curve: panda3d.core.NurbsCurveEvaluator)
linkGeom(geom: panda3d.core.Geom)

Rendering

linkSurface(surface: panda3d.core.NurbsSurfaceEvaluator)
static makeEllipsoid(info: BulletSoftBodyWorldInfo, center: panda3d.core.LPoint3, radius: panda3d.core.LVecBase3, res: int) → BulletSoftBodyNode
static makePatch(info: BulletSoftBodyWorldInfo, corner00: panda3d.core.LPoint3, corner10: panda3d.core.LPoint3, corner01: panda3d.core.LPoint3, corner11: panda3d.core.LPoint3, resx: int, resy: int, fixeds: int, gendiags: bool) → BulletSoftBodyNode
static makeRope(info: BulletSoftBodyWorldInfo, from: panda3d.core.LPoint3, to: panda3d.core.LPoint3, res: int, fixeds: int) → BulletSoftBodyNode

Factory

static makeTetMesh(info: BulletSoftBodyWorldInfo, points: panda3d.core.PTA_LVecBase3, indices: panda3d.core.PTA_int, tetralinks: bool) → BulletSoftBodyNode
static makeTetMesh(info: BulletSoftBodyWorldInfo, ele: str, face: str, node: str) → BulletSoftBodyNode
static makeTriMesh(info: BulletSoftBodyWorldInfo, geom: panda3d.core.Geom, randomizeConstraints: bool) → BulletSoftBodyNode
static makeTriMesh(info: BulletSoftBodyWorldInfo, points: panda3d.core.PTA_LVecBase3, indices: panda3d.core.PTA_int, randomizeConstraints: bool) → BulletSoftBodyNode
property materials → Sequence[BulletSoftBodyMaterial]
property nodes → Sequence[BulletSoftBodyNodeElement]
property num_clusters → int
randomizeConstraints()
releaseCluster(index: int)
releaseClusters()
setMass(node: int, mass: float)
setPose(bvolume: bool, bframe: bool)
setTotalDensity(density: float)
setTotalMass(mass: float, fromfaces: bool)
setVelocity(velocity: panda3d.core.LVector3)
setVolumeDensity(density: float)
setVolumeMass(mass: float)

Mass, volume, density

setWindVelocity(velocity: panda3d.core.LVector3)
unlinkCurve()
unlinkGeom()
unlinkSurface()
property wind_velocity → LVector3
property world_info → BulletSoftBodyWorldInfo