API overview
DNA modification is done through available commands. Each command implements the run(DNACalibDNAReader* output) method
that modifies the DNA specified through its argument. To configure the modification that occurs in run(), parameters
can be passed through constructor or specific setter methods.
The following documentation is for C++. Currently, there is no Python documentation.
List of all available commands:
Commands that remove certain parts of DNA:
RemoveJointAnimationCommandRemoves animation of joint with given index from the DNA.RemoveJointCommandRemoves joint with given index from the DNA.RemoveMeshCommandRemoves mesh with given index from the DNA.ClearBlendShapesCommandClears all blend shape data from the DNA.
Commands that rename certain parts of DNA:
RenameAnimatedMapCommandRenames animated map with given index or previous name.RenameBlendShapeCommandRenames blendshape with given index or previous name.RenameJointCommandRenames joint with given index or previous name.RenameMeshCommandRenames mesh with given index or previous name.
Commands that transform DNA:
RotateCommandRotates neutral joints and vertex positions around given origin.ScaleCommandScales neutral joints, vertex positions, and joint and blendshape deltas by a factor. For neutral joints and joint deltas, only translation attributes are scaled.TranslateCommandTranslates neutral joints and vertex positions.
Commands that modify blendshapes:
SetBlendShapeTargetDeltasCommandChanges blendshape target deltas.PruneBlendShapeTargetsCommandPrunes blendshape target deltas which are lower than or equal to the specified threshold.
Commands that change bind pose:
SetNeutralJointRotationsCommandSets new rotation values to neutral joints.SetNeutralJointTranslationsCommandSets new translation values to neutral joints.SetVertexPositionsCommandChanges vertex positions values.
Commands that perform useful calculations or provide additional functionality:
SetLODsCommandFilters DNA so that it only contains data for specified LODs.CalculateMeshLowerLODsCommandRecalculates vertex positions for lower LOD meshes of the specified mesh.CommandSequenceRuns a sequence of commands on the specified DNA.
A more detailed description of each available command and its methods can be found in
DNACalib/include/dnacalib/commands.