BulletSoftBodyNode

from panda3d.bullet import BulletSoftBodyNode
class BulletSoftBodyNode

Bases: BulletBodyNode

Inheritance diagram

Inheritance diagram of BulletSoftBodyNode

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

Anchors

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

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)None
linkGeom(geom: panda3d.core.Geom)None

Rendering

linkSurface(surface: panda3d.core.NurbsSurfaceEvaluator)None
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_clustersint
randomizeConstraints()None
releaseCluster(index: int)None
releaseClusters()None
setMass(node: int, mass: float)None
setPose(bvolume: bool, bframe: bool)None
setTotalDensity(density: float)None
setTotalMass(mass: float, fromfaces: bool)None
setVelocity(velocity: panda3d.core.LVector3)None
setVolumeDensity(density: float)None
setVolumeMass(mass: float)None

Mass, volume, density

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

Getter Setter

property world_infoBulletSoftBodyWorldInfo