|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectartisynth.core.modelbase.ModelComponentBase
artisynth.core.modelbase.RenderableComponentBase
artisynth.core.mechmodels.DynamicMechComponentBase
artisynth.core.mechmodels.Point
artisynth.core.mechmodels.Particle
public class Particle
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent |
---|
ModelComponent.NavpanelVisibility |
Field Summary | |
---|---|
static PropertyList |
myProps
|
Fields inherited from class artisynth.core.mechmodels.Point |
---|
myRenderCoords |
Fields inherited from class artisynth.core.modelbase.ModelComponentBase |
---|
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames |
Fields inherited from interface maspack.render.GLRenderable |
---|
TRANSLUCENT, TWO_DIMENSIONAL |
Fields inherited from interface artisynth.core.util.TransformableGeometry |
---|
ARTICULATED, SIMULATING |
Fields inherited from interface artisynth.core.modelbase.CopyableComponent |
---|
COPY_REFERENCES |
Constructor Summary | |
---|---|
Particle()
|
|
Particle(double m)
|
|
Particle(double m,
double x,
double y,
double z)
|
|
Particle(double m,
Point3d p)
|
|
Particle(java.lang.String name,
double m,
double x,
double y,
double z)
|
Method Summary | |
---|---|
void |
applyGravity(Vector3d gacc)
Applies a gravity force to this component, given a prescribed gravity acceleration vector. |
int |
applyPosImpulse(double[] delx,
int idx)
|
ModelComponent |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component. |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by this object. |
Vector3d |
getConstraint()
Returns the constraint for this particle, if any. |
boolean |
getCopyReferences(java.util.List<ModelComponent> refs,
ModelComponent ancestor)
Collects external references which must also be copied in order to duplicate this component. |
void |
getInverseMass(Matrix Minv,
Matrix M)
Inverts a mass for this component. |
double |
getMass()
|
double |
getMass(double t)
Returns the scalar mass of this component at time t. |
void |
getMass(Matrix M,
double t)
Gets the mass of this component at a particular time. |
int |
getVelDerivative(double[] dxdt,
int idx,
double mass)
|
boolean |
isDuplicatable()
Returns true if this component can be duplicated. |
void |
scaleDistance(double s)
Scales all distance coordinates. |
void |
scaleMass(double s)
Scales all mass units. |
void |
setConstraint(Vector3d c)
Sets a constraint for this particle. |
void |
setDynamic(boolean dynamic)
|
void |
setMass(double m)
|
void |
transformGeometry(AffineTransform3dBase X)
Applies an affine transformation to the geometry of this object. |
void |
transformGeometry(AffineTransform3dBase X,
TransformableGeometry topObject,
int flags)
Applies an affine transformation to the geometry of this object. |
Methods inherited from class artisynth.core.mechmodels.DynamicMechComponentBase |
---|
addMasterAttachment, getAttachment, getMasterAttachments, getSolveIndex, hasState, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setSolveIndex |
Methods inherited from class artisynth.core.modelbase.RenderableComponentBase |
---|
getRenderHints, numSelectionQueriesNeeded, updateRenderProps |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface maspack.render.RenderablePoint |
---|
isSelected |
Methods inherited from interface maspack.render.GLSelectable |
---|
numSelectionQueriesNeeded |
Methods inherited from interface maspack.render.GLRenderable |
---|
getRenderHints |
Methods inherited from interface artisynth.core.mechmodels.DynamicMechComponent |
---|
addMasterAttachment, checkFlag, clearFlag, getAttachment, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeMasterAttachment, setAttached, setFlag, setSolveIndex |
Methods inherited from interface artisynth.core.modelbase.ModelComponent |
---|
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences |
Methods inherited from interface maspack.properties.HierarchyNode |
---|
getChildren, hasChildren |
Methods inherited from interface maspack.util.Scannable |
---|
isWritable, write |
Field Detail |
---|
public static PropertyList myProps
Constructor Detail |
---|
public Particle()
public Particle(double m)
public Particle(double m, Point3d p)
public Particle(double m, double x, double y, double z)
public Particle(java.lang.String name, double m, double x, double y, double z)
Method Detail |
---|
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class Point
public Vector3d getConstraint()
public void setConstraint(Vector3d c)
c
- constraint value.public double getMass()
public double getMass(double t)
DynamicMechComponent
getMass
in interface DynamicMechComponent
getMass
in class Point
public void getMass(Matrix M, double t)
DynamicMechComponent
getMass
in interface DynamicMechComponent
getMass
in class Point
M
- matrix to return the mass int
- current timepublic void getInverseMass(Matrix Minv, Matrix M)
DynamicMechComponent
getInverseMass
in interface DynamicMechComponent
getInverseMass
in class DynamicMechComponentBase
Minv
- matrix to return the inverse mass inM
- matrix containing the mass to be invertedpublic void setMass(double m)
public void applyGravity(Vector3d gacc)
Point
applyGravity
in interface DynamicMechComponent
applyGravity
in class Point
public int applyPosImpulse(double[] delx, int idx)
public int getVelDerivative(double[] dxdt, int idx, double mass)
public void scaleMass(double s)
ScalableUnits
scaleMass
in interface ScalableUnits
scaleMass
in class Point
s
- scaling factorpublic void setDynamic(boolean dynamic)
public void transformGeometry(AffineTransform3dBase X)
TransformableGeometry
transformGeometry (X, this, 0);
transformGeometry
in interface TransformableGeometry
transformGeometry
in class Point
X
- affine transformationpublic void transformGeometry(AffineTransform3dBase X, TransformableGeometry topObject, int flags)
TransformableGeometry
topComponent
should be the component for which the method
was initially invoked. The variable flags
provides
information about the context in which the transformation is
being applied. At present, the available flags are
TransformableGeometry.SIMULATING
and TransformableGeometry.ARTICULATED
.
transformGeometry
in interface TransformableGeometry
transformGeometry
in class Point
X
- affine transformationtopObject
- component on which the method was initially invokedflags
- provides information about the context in which the
transformation is being applied.public void scaleDistance(double s)
ScalableUnits
scaleDistance
in interface ScalableUnits
scaleDistance
in class Point
s
- scaling factorpublic boolean isDuplicatable()
true
if and only if CopyableComponent.getCopyReferences(java.util.List, artisynth.core.modelbase.ModelComponent)
returns true.
This method is not currently used. It is intended to provide a faster
way of determining if a component can be duplicated, without having to
use CopyableComponent.getCopyReferences(java.util.List
to build the list of copy references.
isDuplicatable
in interface CopyableComponent
isDuplicatable
in class Point
true
if this component can be duplicated.public boolean getCopyReferences(java.util.List<ModelComponent> refs, ModelComponent ancestor)
true
if and only if CopyableComponent.isDuplicatable()
returns
true.
getCopyReferences
in interface CopyableComponent
getCopyReferences
in class Point
refs
- list to which references are appendedancestor
- root node of the hierarchy from which references are to be excluded
public ModelComponent copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponent
COPY_REFERENCES
is set in flags
, then any component referenced
by this component should itself be set to a copy. This
should be done first checking copyMap
for an
existing copy of the referenced component. If there is no existing
copy, then a copy should be created by calling copy
recursively and adding the new copy to copyMap
.
copy
in interface CopyableComponent
copy
in class Point
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |