public class RigidCylinder extends RigidBody implements Wrappable
RigidBody.InertiaMethod
ModelComponent.NavpanelVisibility
Collidable.Collidability, Collidable.DefaultCollidable
dynamicVelInWorldCoords, myRenderFrame
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
Default, Deformable, RigidBody, Self
ARTICULATED, SIMULATING
COPY_REFERENCES
TRANSLUCENT, TWO_DIMENSIONAL
Constructor and Description |
---|
RigidCylinder() |
RigidCylinder(java.lang.String name,
double r,
double h,
double density) |
RigidCylinder(java.lang.String name,
double r,
double h,
double density,
int nsides) |
Modifier and Type | Method and Description |
---|---|
double |
getRadius() |
double |
penetrationDistance(Vector3d nrm,
Point3d p0)
Computes the penetration distance of a point
p0 into this
Wrappable, along with the normal nrm that points from
p0 to its nearest point on the surface. |
void |
setRadius(double r) |
void |
surfaceTangent(Point3d pr,
Point3d p0,
Point3d p1,
double lam,
Vector3d sideNrm)
Computes the point
pt on the surface of this Wrappable such
that the line segment (pa,pt) is both tangent to the surface and as near
as possible to the line defined by the two points pa and p1. |
addConnector, addEffectiveInertia, addEffectivePointMass, allowCollision, applyGravity, computeVolume, containsContactMaster, copy, createBox, createCylinder, createEllipsoid, createFromMesh, createFromMesh, createFromMesh, createFromMesh, createIcosahedralSphere, createRenderProps, createSphere, extrapolatePose, getAllPropertyInfo, getCenterOfMass, getCenterOfMass, getCollidable, getCollisionMesh, getConnectors, getCopyReferences, getDensity, getDensityRange, getEffectiveInertia, getEffectiveMass, getEffectiveMassForces, getFrameMarkers, getInertia, getInertiaMethod, getInverseMass, getMass, getMass, getMass, getMassRange, getMesh, getMeshFileName, getMeshFileTransform, getRotationalInertia, getRotationalInertia, getSurfaceMesh, getSurfaceMeshes, getVertexMasters, isDeformable, isDuplicatable, isFreeBody, isMassConstant, mulInverseEffectiveMass, numSurfaceMeshes, prerender, removeConnector, render, resetEffectiveMass, scaleDistance, scaleMass, scaleMesh, scan, setCenterOfMass, setCollidable, setDensity, setDynamic, setInertia, setInertia, setInertia, setInertia, setInertiaFromDensity, setInertiaFromMass, setInertiaMethod, setMass, setMesh, setMesh, setMesh, setMeshFileName, setMeshFileTransform, setPose, setRotationalInertia, setSurfaceMesh, setSurfaceMesh, transformGeometry, transformGeometry, updateAttachmentPosStates, updateBounds, write
addExternalForce, addForce, addPointForce, addPointForce, addPointMass, addPosImpulse, addPosJacobian, addScaledExternalForce, addSolveBlock, addSolveBlocks, addTargetJacobian, addToPointVelocity, addVelJacobian, applyExternalForces, applyForces, computeAppliedWrench, computeLocalPointForceJacobian, computePointCoriolis, computePointLocation, computePointPosition, computePointVelocity, computePointVelocity, computePointVelocity, computeWorldPointForceJacobian, createFrameAttachment, createMassBlock, createPointAttachment, drawAxes, getAxisLength, getBodyForce, getBodyVelocity, getBodyVelState, getExternalForce, getForce, getForce, getForce, getFrameDamping, getFrameDampingMode, getJacobianType, getMoment, getOrientation, getOrientation, getPosDerivative, getPose, getPose, getPosition, getPosState, getPosStateSize, getRotaryDamping, getRotaryDampingMode, getRotation, getSelection, getTargetActivity, getTargetOrientation, getTargetPos, getTargetPose, getTargetPosition, getTargetVel, getTargetVelocity, getTraceablePositionProperty, getTraceables, getTransForce, getVelocity, getVelocity, getVelState, getVelStateSize, getWorldVelState, resetTargets, setAxisLength, setBodyVelocity, setContactConstraint, setExternalForce, setForce, setForce, setFrameDamping, setFrameDampingMode, setOrientation, setPose, setPosition, setPosState, setRotaryDamping, setRotaryDampingMode, setRotation, setState, setTargetActivity, setTargetOrientation, setTargetPos, setTargetPose, setTargetPosition, setTargetVel, setTargetVelocity, setVelocity, setVelocity, setVelState, subPointForce, subPointForce, transformPose, velocityLimitExceeded, zeroExternalForces, zeroForces
addMasterAttachment, getAttachment, getMasterAttachments, getSolveIndex, hasState, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setSolveIndex
getRenderHints, getRenderProps, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderProps
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isConnectedToHierarchy, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createPointAttachment
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getAllPropertyInfo, getProperty
getChildren, hasChildren
isWritable, write
transformPose
createFrameAttachment
addMasterAttachment, checkFlag, clearFlag, getAttachment, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setFlag, setSolveIndex
public RigidCylinder()
public RigidCylinder(java.lang.String name, double r, double h, double density)
public RigidCylinder(java.lang.String name, double r, double h, double density, int nsides)
public double getRadius()
public void setRadius(double r)
public void surfaceTangent(Point3d pr, Point3d p0, Point3d p1, double lam, Vector3d sideNrm)
Wrappable
pt
on the surface of this Wrappable such
that the line segment (pa,pt) is both tangent to the surface and as near
as possible to the line defined by the two points pa and p1.
To assist with the computation, pt
can be assumed to lie
fairly close to p1
, and its projection onto the line can be
assumed to lie between p1
and another point p0 defined by
p0 = (1-lam0) pa + lam0 p1where
lam0
is a parameter between 0 and 1.surfaceTangent
in interface Wrappable
pr
- returns the tangent pointp0
- first point of the linep1
- second point of the linelam
- parameter defining point p0 as defined abovepublic double penetrationDistance(Vector3d nrm, Point3d p0)
Wrappable
p0
into this
Wrappable, along with the normal nrm
that points from
p0
to its nearest point on the surface. The returned
distance should be negative. If p0
is not penetrating, the
method should return 0 as quickly as it can.penetrationDistance
in interface Wrappable
nrm
- returns the normal (should be normalized)p0
- point to determine penetration for