Solve Commands#
mmSolver
Command#
The command named mmSolver
is the primary command used to perform a
solve.
Flags#
The command can be run in both MEL and Python.
Here is a table of command flags, as currently specified in the command.
Flag |
Type |
Description |
Default Value |
---|---|---|---|
-camera (-c) |
string, string |
Camera transform and shape nodes |
None |
-marker (-m) |
string, string, string |
Marker, Camera, Bundle |
None |
-attr (-a) |
string, string, string, string, string |
Node attribute, min value, max value, offset and scale |
None |
-frame (-f) |
long int |
Frame number to solve with |
1 |
-attrStiffness (-asf) |
string, string, string, string |
Node attribute, weight plug name, variance plug name, value plug name. |
None |
-attrSmoothness (-asm) |
string, string, string, string |
Node attribute, weight plug name, variance plug name, value plug name. |
None |
-solverType (-st) |
unsigned int |
Type of solver to use. |
<auto detected> |
-sceneGraphMode (-sgm) |
unsigned int |
The Scene Graph used; 0=Maya DAG, 1=MM Scene Graph |
0 (Maya DAG) |
-timeEvalMode (-tem) |
unsigned int |
How to evalulate values at different times, 0=DG Context 1=Set TIme |
0 (DG Context) |
-iterations (-it) |
unsigned int |
Maximum number of iterations |
20 |
-tauFactor (-t) |
double |
Initial Damping Factor |
1E-03 |
-epsilon1 (-e1) |
double |
Acceptable gradient change |
1E-06 |
-epsilon2 (-e2) |
double |
Acceptable parameter change |
1E-06 |
-epsilon3 (-e3) |
double |
Acceptable error |
1E-06 |
-delta (-dt) |
double |
Change to the guessed parameters each iteration |
1E-04 |
-autoDiffType (-adt) |
unsigned int |
Auto-differencing type 0=forward 1=central |
0 (forward) |
-verbose (-v) |
bool |
Prints more information |
False |
Return#
The mmSolver
command will return a list of strings.
The list of strings has a specific structure and stores all the data from the core solver engines, so the user can do whatever they wish to.
Example#
Python Example:
maya.cmds.mmSolver(
camera=('camera1', 'cameraShape1'),
marker=(
('marker1', 'camera1', 'bundle1'),
('marker2', 'camera1', 'bundle2'),
),
attr=(
('node.attr', 'None', 'None', 'None', 'None'),
('bundle1.tx', 'None', 'None', 'None', 'None'),
('bundle1.ty', 'None', 'None', 'None', 'None'),
('camera1.rx', '-10.0', '25.0', '360.0', '1.0'),
),
frame=(1, 12, 24,),
iterations=10,
)
MEL Example:
mmSolver
-camera "camera1" "cameraShape1"
-marker "marker1" "camera1" "bundle1"
-marker "marker2" "camera1" "bundle2"
-attr "node.attr" "None" "None" "None" "None"
-attr "bundle1.tx" "None" "None" "None" "None"
-attr "bundle1.ty" "None" "None" "None" "None"
-attr "camera1.rx" "-10.0" "25.0" "360.0" "1.0"
-frame 1
-frame 12
-frame 24
-iterations 10;
mmSolverType
Command#
mmSolverType is used to query the current plug-in’s available solvers.
This tool is commonly used to dynamically query for the different types of solvers. See the How do I get the list of supported Solver Types? for more detail on this.
Python Example:
solvers = maya.cmds.mmSolverType(query=True, list=True)
default_solver = maya.cmds.mmSolverType(query=True, default=True)
mmSolverAffects
Command#
To be written.
mmSolverSceneGraph
Command#
To be written.
mmCameraRelativePose
Command#
To be written.
mmCameraPoseFromPoints
Command#
To be written.