public class IKProbe extends NumericControlProbe
Probe.ExportProps, Probe.ImportExportFileInfoModelComponent.FilePathSaveType, ModelComponent.NavpanelVisibility| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEFAULT_BODIES_NON_DYNAMIC_IF_ACTIVE |
static PropertyList |
myProps |
EXPLICIT_TIMEmySmallDisplayuseOldSaveMethod, writeStartStopTimeInSecondsenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCES, REST_POSITION| Constructor and Description |
|---|
IKProbe()
Empty constructor required for write/scan.
|
IKProbe(java.lang.String name,
MechModel mech,
java.util.Collection<FrameMarker> mkrs,
VectorNd wgts,
double startTime,
double stopTime) |
IKProbe(java.lang.String name,
MechModel mech,
java.util.Collection<FrameMarker> mkrs,
VectorNd wgts,
java.lang.String fileName) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyData(VectorNd vec,
double t,
double trel)
Applies the current numeric data of this probe, as input in the argument
vec, and uses it to update the simulation for either
the current absolute time t or probe relative time
trel. |
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.
|
boolean |
getBodiesNonDynamicIfActive()
Queries the
bodiesNonDynamicIfActive property of this
probe. |
double |
getConvergenceTol()
Queries the convergance tolerance used in each IK solve step.
|
java.util.ArrayList<FrameMarker> |
getMarkers()
Returns the markers used by this IKProbe
|
double |
getMassRegularization()
Queries the mass regulaization coefficient for this IKProbe.
|
int |
getMaxIterations()
Queries the maximum number of iterations allowed in each IK solve step.
|
IKSolver.SearchStrategy |
getSearchStrategy()
Queries the least-squares search strategy for the IK solve steps.
|
IKSolver |
getSolver()
Returns the IKSolver used by this probe.
|
boolean |
isSettable() |
int |
numMarkers()
Returns the number of markers used by this IKProbe.
|
boolean |
postscanItem(java.util.Deque<ScanToken> tokens,
CompositeComponent ancestor) |
void |
resetBodiesDynamic()
Restore the
dynamic property setting of all the bodies associated
with this probe to their value at initialization. |
boolean |
scanItem(ReaderTokenizer rtok,
java.util.Deque<ScanToken> tokens) |
void |
setActive(boolean enable) |
void |
setBodiesDynamic(boolean dynamic)
Sets the
dynamic property of all the bodies associated
with this probe. |
void |
setBodiesNonDynamicIfActive(boolean enable)
Sets the
bodiesNonDynamicIfActive property of this probe. |
void |
setConvergenceTol(double tol)
Sets the convergance tolerance
tol used in each IK solve step. |
void |
setData(double t) |
void |
setMassRegularization(double c)
Sets the mass regulaization coefficient for this IKProbe.
|
void |
setMaxIterations(int maxi)
Set the maximum number of iterations allowed in each IK solve step.
|
void |
setSearchStrategy(IKSolver.SearchStrategy strat)
Sets the least-squares search strategy for the IK solve steps.
|
void |
writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor)
Write probe attributes to a PrintWriter
|
addData, addData, addData, addData, addData, addData, apply, clone, getCopyReferences, getExtendData, getInput, isInput, load, loadEmpty, postscan, read, save, scan, setAttachedFileName, setAttachedFileName, setExtendData, setVsize, writecreateState, getDataFunction, getInitialState, getState, hasState, isCloneable, isDuplicatable, setDataFunction, setStateapplyDefaultDisplayRanges, clearData, decreaseDisplayRanges, dispose, exportCsvData, exportCsvData, exportData, exportTextData, exportTextData, getAttachedProperties, getData, getData, getDefaultDisplayMax, getDefaultDisplayMin, getDefaultDisplayRange, getDisplay, getDrivers, getExportFileInfo, getExportProps, getFormat, getImportFileInfo, getInterpolation, getInterpolationOrder, getLegend, getMatlabName, getMinMaxValues, getNumericList, getOrderedTraceIndex, getPlotTraceInfo, getRotationRep, getRotationSubvecOffsets, getTraceColor, getTraceLabel, getTraceManager, getValues, getVariables, getVisibleMinMaxValues, getVisibleRange, getVisibleRange, getVsize, importCsvData, importData, importText, importTextData, increaseDisplayRanges, isDisplayable, isEmpty, isPrintable, isSmallDisplayVisible, isTraceVisible, isValidVariableName, isWritable, loadFromMatlab, print, removeDisplay, removeLegend, resetTraceColors, resetTraceOrder, saveToMatlab, scaleNumericList, setData, setData, setDefaultDisplayRange, setDefaultDisplayRange, setFormat, setInterpolation, setInterpolationOrder, setLegend, setLegendLabels, setScale, setSmallDisplayVisible, setTraceColor, setTraceLabel, setTraceOrder, setTraceVisible, setValues, setValues, smoothWithMovingAverage, smoothWithSavitzkyGolay, swapPlotTraceOrder, updateDisplays, updateDisplays, updateDisplaysForPropertyChanges, updateDisplaysWithoutAutoRanging, writeTextgetAttachedFile, getAttachedFileName, getChildren, getClippedVirtualTime, getDefaultScale, getDefaultStartTime, getDefaultStopTime, getDefaultUpdateInterval, getDuration, getExportFile, getExportFileName, getFileFromPath, getImportFile, getImportFileName, getPathFromFile, getProperty, getScale, getStartTime, getStopTime, getTimelineTime, getTrack, getUpdateInterval, getVirtualTime, hasAttachedFile, hasChildren, isAttachedFileRelative, isEditable, isEventTime, isScalable, nextEventTime, setExportFileName, setImportFileName, setInterval, setName, setScalable, setStartStopTimes, setStartTime, setStopTime, setTrack, setUpdateIntervalfinalize, getModel, initialize, isActive, setModel, setModelFromComponent, writecheckFlag, checkName, checkNameUniqueness, clearFlag, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getSoftReferences, isFixed, isMarked, isScanning, isSelected, makeValidName, makeValidName, notifyParentOfChange, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, setFixed, setFlag, setMarked, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, updateReferencesequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconnectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, isFixed, isMarked, isSelected, notifyParentOfChange, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writepublic static final boolean DEFAULT_BODIES_NON_DYNAMIC_IF_ACTIVE
public static PropertyList myProps
public IKProbe()
public IKProbe(java.lang.String name,
MechModel mech,
java.util.Collection<FrameMarker> mkrs,
VectorNd wgts,
double startTime,
double stopTime)
public IKProbe(java.lang.String name,
MechModel mech,
java.util.Collection<FrameMarker> mkrs,
VectorNd wgts,
java.lang.String fileName)
throws java.io.IOException
java.io.IOExceptionpublic PropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class NumericControlProbepublic double getMassRegularization()
setMassRegularization(double)public void setMassRegularization(double c)
IKSolver.setMassRegularization(double) for details.c - mass regulaization coefficientgetMassRegularization()public int getMaxIterations()
setMaxIterations(int)public void setMaxIterations(int maxi)
maxi - maximum number of solve iterationsgetMaxIterations()public double getConvergenceTol()
public void setConvergenceTol(double tol)
tol used in each IK solve step.
See IKSolver.setConvergenceTol(double) for details.
#see #getConvergenceToltol - convergence tolerancepublic IKSolver.SearchStrategy getSearchStrategy()
public void setSearchStrategy(IKSolver.SearchStrategy strat)
strat - IK search strategypublic boolean getBodiesNonDynamicIfActive()
bodiesNonDynamicIfActive property of this
probe. See setBodiesNonDynamicIfActive(boolean) for details.true if bodiesNonDynamicIfActive is enabled.public void setBodiesNonDynamicIfActive(boolean enable)
bodiesNonDynamicIfActive property of this probe.
If true, then the dynamic property of the bodies associated
with this probe is set false when the probe is active. When
the probe transitions to being inactive, resetBodiesDynamic()
is called.enable - new value for the bodiesNonDynamicIfActive
property of this probepublic IKSolver getSolver()
public void setActive(boolean enable)
setActive in class ModelAgentBasepublic void applyData(VectorNd vec, double t, double trel)
NumericControlProbevec, and uses it to update the simulation for either
the current absolute time t or probe relative time
trel. The size of
vec will equal the vector size of the probe (as returned by
NumericProbeBase.getVsize(). Probe relative time is determined
from the probe's start time and scale factor
using trel = (t - startTime)/scale.
applyData in class NumericControlProbevec - supplies the current numeric datat - absolute time (seconds)trel - probe relative timepublic void setData(double t)
setData in class NumericControlProbepublic void setBodiesDynamic(boolean dynamic)
dynamic property of all the bodies associated
with this probe.dynamic - setting for each body's dynamic propertypublic void resetBodiesDynamic()
dynamic property setting of all the bodies associated
with this probe to their value at initialization.public boolean isSettable()
isSettable in class NumericControlProbepublic boolean scanItem(ReaderTokenizer rtok, java.util.Deque<ScanToken> tokens) throws java.io.IOException
scanItem in class NumericControlProbejava.io.IOExceptionpublic boolean postscanItem(java.util.Deque<ScanToken> tokens, CompositeComponent ancestor) throws java.io.IOException
java.io.IOExceptionpublic void writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor)
throws java.io.IOException
ProbewriteItems in class NumericControlProbepw - writer to which components are writtenfmt - format for floating point numbersancestor - ancestor component which respect to which references are
expressedjava.io.IOException - if an I/O error occurredpublic ModelComponent copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponentCOPY_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 CopyableComponentcopy in class NumericControlProbeflags - flags to control the copyingcopyMap - map to possible existing instances of referenced
componentspublic java.util.ArrayList<FrameMarker> getMarkers()
public int numMarkers()