|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DynamicMechComponent
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent |
---|
ModelComponent.NavpanelVisibility |
Method Summary | |
---|---|
void |
addMasterAttachment(DynamicAttachment a)
|
void |
addPosImpulse(double[] xbuf,
int xidx,
double h,
double[] vbuf,
int vidx)
|
void |
addSolveBlock(SparseNumberedBlockMatrix S)
|
void |
applyGravity(Vector3d gacc)
Applies a gravity force to this component, given a prescribed gravity acceleration vector. |
boolean |
checkFlag(int mask)
Check if a flag is set |
void |
clearFlag(int mask)
Clear a flag |
MatrixBlock |
createMassBlock()
Create a matrix block for representing the mass of this component, initialized to the component's effective mass (instrinsic mass plus the mass due to all attachmented components). |
MatrixBlock |
createSolveBlock()
|
DynamicAttachment |
getAttachment()
Returns the slave attachment associated with this component, if any. |
int |
getForce(double[] buf,
int idx)
|
void |
getInverseMass(Matrix Minv,
Matrix M)
Inverts a mass for this component. |
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 |
getMassForces(VectorNd f,
double t,
int idx)
Gets the mass forces for this component at a particular time. |
java.util.LinkedList<DynamicAttachment> |
getMasterAttachments()
Returns a list of the attachments for which this component is a master, or null if there are no such attachments. |
int |
getPosDerivative(double[] buf,
int idx)
|
int |
getPosState(double[] buf,
int idx)
|
int |
getPosStateSize()
|
int |
getSolveIndex()
|
int |
getVelState(double[] buf,
int idx)
|
int |
getVelStateSize()
|
boolean |
isActive()
Returns true if this component is active. |
boolean |
isAttached()
Returns true if this component is attached. |
boolean |
isControllable()
Returns true is this component is active, or it is attached to one or more other components which ultimately are attached to at least one active component. |
boolean |
isDynamic()
Returns true if this component is dynamic. |
boolean |
isMassConstant()
|
boolean |
isParametric()
Returns true if the state of this component is determined parametrically; i.e., it is neither dynamic nor attached. |
void |
removeMasterAttachment(DynamicAttachment a)
|
void |
setAttached(DynamicAttachment attachment)
M Attach this component to another via a DynamicAttachment object. |
void |
setFlag(int mask)
Set flag |
int |
setForce(double[] buf,
int idx)
|
void |
setForcesToExternal()
|
int |
setPosState(double[] buf,
int idx)
|
void |
setSolveIndex(int idx)
|
void |
setState(DynamicMechComponent c)
Sets the state of this DynamicMechComponent from that of another. |
int |
setVelState(double[] buf,
int idx)
|
boolean |
velocityLimitExceeded(double tlimit,
double rlimit)
Checks if the current component velocity exceeds specified limits. |
void |
zeroExternalForces()
|
void |
zeroForces()
|
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.HasProperties |
---|
getAllPropertyInfo, getProperty |
Methods inherited from interface maspack.properties.HierarchyNode |
---|
getChildren, hasChildren |
Methods inherited from interface maspack.util.Scannable |
---|
isWritable, write |
Methods inherited from interface artisynth.core.mechmodels.ForceEffector |
---|
addPosJacobian, addSolveBlocks, addVelJacobian, applyForces, getJacobianType |
Method Detail |
---|
DynamicAttachment getAttachment()
java.util.LinkedList<DynamicAttachment> getMasterAttachments()
void setAttached(DynamicAttachment attachment)
attachment
- Specifies the attachment relationship between
this component and its master(s)void addMasterAttachment(DynamicAttachment a)
void removeMasterAttachment(DynamicAttachment a)
boolean isDynamic()
boolean isActive()
boolean isAttached()
boolean isParametric()
boolean isControllable()
int getSolveIndex()
void setSolveIndex(int idx)
MatrixBlock createMassBlock()
boolean isMassConstant()
double getMass(double t)
void getMass(Matrix M, double t)
M
- matrix to return the mass int
- current timeint getMassForces(VectorNd f, double t, int idx)
f
, starting at the location
specified by idx
. Upon return, this method should
return the value of idx
incremented by the dimension
of the mass forces.
f
- vector to return the forces int
- current timeidx
- starting location within f
where forces should be stored
idx
void getInverseMass(Matrix Minv, Matrix M)
Minv
- matrix to return the inverse mass inM
- matrix containing the mass to be invertedvoid addSolveBlock(SparseNumberedBlockMatrix S)
MatrixBlock createSolveBlock()
void setState(DynamicMechComponent c)
c
- component from which the state is to be copied.void addPosImpulse(double[] xbuf, int xidx, double h, double[] vbuf, int vidx)
int getPosDerivative(double[] buf, int idx)
int getPosState(double[] buf, int idx)
int setPosState(double[] buf, int idx)
int getVelState(double[] buf, int idx)
int setVelState(double[] buf, int idx)
int setForce(double[] buf, int idx)
int getForce(double[] buf, int idx)
int getPosStateSize()
int getVelStateSize()
void zeroForces()
void zeroExternalForces()
void setForcesToExternal()
boolean velocityLimitExceeded(double tlimit, double rlimit)
tlimit
- translational velocity limitrlimit
- rotational velocity limit
void applyGravity(Vector3d gacc)
void setFlag(int mask)
boolean checkFlag(int mask)
void clearFlag(int mask)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |