Simbody
3.6
|
Options for the advanced project() methods. More...
Public Types | |
enum | Option { None = 0x0000, LocalOnly = 0x0001, DontThrow = 0x0002, UseInfinityNorm = 0x0004, ForceProjection = 0x0008, ForceFullNewton = 0x0010 } |
Public Member Functions | |
ProjectOptions () | |
Default constructor sets options to their default values. More... | |
ProjectOptions (Real accuracy) | |
This constructor allows the default accuracy to be overridden while leaving all other options at their default values. More... | |
ProjectOptions (Option opt) | |
This constructor creates default options except one setting one non-default Option. More... | |
ProjectOptions & | clear () |
Restore this object to its default-constructed state (no options selected, default accuracy and overshoot). More... | |
ProjectOptions & | setRequiredAccuracy (Real accuracy) |
The norm of the constraint errors must be driven to below this value for a project() to be considered successful. More... | |
ProjectOptions & | setOvershootFactor (Real overshoot) |
Project will attempt to reach accuracy*overshoot but settle for just accuracy. More... | |
ProjectOptions & | setProjectionLimit (Real limit) |
Project will fail immediately if the initial norm is greater than the projection limit, with status FailureToConverge. More... | |
ProjectOptions & | clearOption (Option opt) |
Remove a given option from the set. More... | |
ProjectOptions & | setOption (Option opt) |
Set a particular option. More... | |
Real | getRequiredAccuracy () const |
Return the current value for the required accuracy option. More... | |
Real | getOvershootFactor () const |
Return the factor by which a project() method should try to do better than the required accuracy. More... | |
Real | getProjectionLimit () const |
Return the maximum norm we're allowed to attempt to correct. More... | |
bool | isOptionSet (Option opt) const |
ProjectOptions & | operator|= (const ProjectOptions &opts) |
ProjectOptions & | operator &= (const ProjectOptions &opts) |
ProjectOptions & | operator-= (const ProjectOptions &opts) |
ProjectOptions & | operator|= (Option opt) |
ProjectOptions & | operator-= (Option opt) |
Static Public Member Functions | |
static Real | getDefaultRequiredAccuracy () |
static Real | getDefaultOvershootFactor () |
Options for the advanced project() methods.
The default is to require project() methods to reduce constraint errors to an RMS norm of 1e-4, while asking them to attempt 10X tighter accuracy if possible.
|
inline |
Default constructor sets options to their default values.
|
inlineexplicit |
This constructor allows the default accuracy to be overridden while leaving all other options at their default values.
If accuracy is nonpositive, the default accuracy will be used.
|
inlineexplicit |
This constructor creates default options except one setting one non-default Option.
You can add more with the setOption() method.
|
inline |
Restore this object to its default-constructed state (no options selected, default accuracy and overshoot).
A reference to the newly-cleared object is returned.
|
inline |
The norm of the constraint errors must be driven to below this value for a project() to be considered successful.
Normally an RMS norm is used but you can override that to use an infinity norm instead. If accuracy is nonpositive we'll use the default; see getDefaultRequiredAccuracy().
|
inline |
Project will attempt to reach accuracy*overshoot but settle for just accuracy.
|
inline |
Project will fail immediately if the initial norm is greater than the projection limit, with status FailureToConverge.
|
inline |
Remove a given option from the set.
Nothing happens if the option wasn't already set.
|
inline |
Set a particular option.
Multiple calls are or'ed together.
|
inline |
Return the current value for the required accuracy option.
|
inline |
Return the factor by which a project() method should try to do better than the required accuracy.
|
inline |
Return the maximum norm we're allowed to attempt to correct.
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |