Package com.github.stephengold.joltjni
Class SoftBodySharedSettingsRef
java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.template.Ref
com.github.stephengold.joltjni.SoftBodySharedSettingsRef
- All Implemented Interfaces:
ConstJoltPhysicsObject
,ConstSoftBodySharedSettings
,AutoCloseable
,Comparable<JoltPhysicsObject>
A counted reference to
SoftBodySharedSettings
. (native type:
Ref<SoftBodySharedSettings>
)-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addEdgeConstraint
(Edge edge) Add the specified edge constraint.void
Add the specified face.void
addInvBindMatrix
(InvBind invBind) Append the specified inverse-bind matrix.void
addSkinnedConstraint
(Skinned skinned) Add the specified skinning constraint.void
Add the specified vertex.void
addVolumeConstraint
(Volume volume) Add the specified volume constraint.void
Calculate the initial lengths of all edges in the body.void
Calculate the information needed for skinned constraint normals.void
Calculate the initial volumes of all tetrahedra in the body.int
Count the edge constraints.int
Count the faces.int
Count the pinned vertices.int
Count the vertices.int
Count the volume constraints.void
createConstraints
(ConstVertexAttributes[] vertexAttributes, EBendType bendType) Automatically generate constraints based on the faces.void
createConstraints
(ConstVertexAttributes[] vertexAttributes, EBendType bendType, float angleTolerance) Automatically generate constraints based on the faces.void
createConstraints
(ConstVertexAttributes vertexAttributes, int numAttributes, EBendType bendType) Automatically generate constraints based on the faces.getPtr()
Temporarily access the referencedSoftBodySharedSettings
.float
Return the radius of each particle.void
optimize()
Optimize the settings without writing any results.void
putEdgeIndices
(IntBuffer storeIndices) Write the vertex indices of all edges to the specified buffer and advance the buffer's position.void
putFaceIndices
(IntBuffer storeIndices) Write the vertex indices of all faces to the specified buffer and advance the buffer's position.void
setMaterials
(PhysicsMaterial material) Replace the materials.void
setVertexRadius
(float radius) Alter the size of every particle.long
targetVa()
Return the address of the nativeSoftBodySharedSettings
.toRef()
Create another counted reference to the nativeSoftBodySharedSettings
.Methods inherited from class com.github.stephengold.joltjni.JoltPhysicsObject
close, compareTo, equals, getContainingObject, hasAssignedNativeObject, hashCode, ownsNativeObject, setVirtualAddress, setVirtualAddress, startCleaner, toString, va
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface com.github.stephengold.joltjni.readonly.ConstJoltPhysicsObject
close, hasAssignedNativeObject, ownsNativeObject
-
Constructor Details
-
SoftBodySharedSettingsRef
public SoftBodySharedSettingsRef()Instantiate an empty reference.
-
-
Method Details
-
addEdgeConstraint
Add the specified edge constraint.- Parameters:
edge
- the edge to add (not null, unaffected)
-
addFace
Add the specified face.- Parameters:
face
- the face to add (not null, unaffected)
-
addInvBindMatrix
Append the specified inverse-bind matrix.- Parameters:
invBind
- the matrix to add (not null)
-
addSkinnedConstraint
Add the specified skinning constraint.- Parameters:
skinned
- the constraint to add (not null)
-
addVertex
Add the specified vertex.- Parameters:
vertex
- the vertex to add (not null, unaffected)
-
addVolumeConstraint
Add the specified volume constraint.- Parameters:
volume
- the constraint to add (not null, unaffected)
-
calculateEdgeLengths
public void calculateEdgeLengths()Calculate the initial lengths of all edges in the body. -
calculateSkinnedConstraintNormals
public void calculateSkinnedConstraintNormals()Calculate the information needed for skinned constraint normals. -
calculateVolumeConstraintVolumes
public void calculateVolumeConstraintVolumes()Calculate the initial volumes of all tetrahedra in the body. -
createConstraints
public void createConstraints(ConstVertexAttributes vertexAttributes, int numAttributes, EBendType bendType) Automatically generate constraints based on the faces.- Parameters:
vertexAttributes
- the desired attributes (one for each vertex)numAttributes
- the number of attributes provided (≥0)bendType
- the desired type of bend constraint (not null, default=Distance)
-
createConstraints
Automatically generate constraints based on the faces.- Parameters:
vertexAttributes
- the desired attributes (one for each vertex)bendType
- the desired type of bend constraint (not null, default=Distance)
-
createConstraints
public void createConstraints(ConstVertexAttributes[] vertexAttributes, EBendType bendType, float angleTolerance) Automatically generate constraints based on the faces.- Parameters:
vertexAttributes
- the desired attributes (one for each vertex)bendType
- the desired type of bend constraint (not null, default=Distance)angleTolerance
- the desired tolerance for creating shear edges (in radians, default=2*Pi/45)
-
optimize
public void optimize()Optimize the settings without writing any results. -
setMaterials
Replace the materials. (native attribute: mMaterials)- Parameters:
material
- the desired material, ornull
-
setVertexRadius
public void setVertexRadius(float radius) Alter the size of every particle.- Parameters:
radius
- the desired radius (≥0, default=0)
-
countEdgeConstraints
public int countEdgeConstraints()Count the edge constraints. The settings are unaffected.- Specified by:
countEdgeConstraints
in interfaceConstSoftBodySharedSettings
- Returns:
- the count (≥0)
-
countFaces
public int countFaces()Count the faces. The settings are unaffected.- Specified by:
countFaces
in interfaceConstSoftBodySharedSettings
- Returns:
- the count (≥0)
-
countPinnedVertices
public int countPinnedVertices()Count the pinned vertices. The settings are unaffected.- Specified by:
countPinnedVertices
in interfaceConstSoftBodySharedSettings
- Returns:
- the count (≥0)
-
countVertices
public int countVertices()Count the vertices. The settings are unaffected.- Specified by:
countVertices
in interfaceConstSoftBodySharedSettings
- Returns:
- the count (≥0)
-
countVolumeConstraints
public int countVolumeConstraints()Count the volume constraints. The settings are unaffected.- Specified by:
countVolumeConstraints
in interfaceConstSoftBodySharedSettings
- Returns:
- the count (≥0)
-
getVertexRadius
public float getVertexRadius()Return the radius of each particle. The settings are unaffected. (native attribute: mVertexRadius)- Specified by:
getVertexRadius
in interfaceConstSoftBodySharedSettings
- Returns:
- the radius (in meters)
-
putEdgeIndices
Write the vertex indices of all edges to the specified buffer and advance the buffer's position. The settings are unaffected.- Specified by:
putEdgeIndices
in interfaceConstSoftBodySharedSettings
- Parameters:
storeIndices
- the destination buffer (not null, modified)
-
putFaceIndices
Write the vertex indices of all faces to the specified buffer and advance the buffer's position. The settings are unaffected.- Specified by:
putFaceIndices
in interfaceConstSoftBodySharedSettings
- Parameters:
storeIndices
- the destination buffer (not null, modified)
-
getPtr
Temporarily access the referencedSoftBodySharedSettings
. -
targetVa
public long targetVa()Return the address of the nativeSoftBodySharedSettings
. No objects are affected.- Specified by:
targetVa
in interfaceConstJoltPhysicsObject
- Overrides:
targetVa
in classJoltPhysicsObject
- Returns:
- a virtual address (not zero)
-
toRef
Create another counted reference to the nativeSoftBodySharedSettings
.
-