DNA Calib 1.1
Project brief
|
The abstract Writer which its implementations are expected to inherit. More...
#include <Writer.h>
Public Member Functions | |
~Writer () override | |
void | setFrom (const Reader *source, DataLayer layer=DataLayer::All, MemoryResource *memRes=nullptr) |
Initialize the Writer from the given Reader. More... | |
![]() | |
virtual void | setGUIToRawInputIndices (const std::uint16_t *inputIndices, std::uint16_t count)=0 |
Input indices used for mapping gui to raw controls. More... | |
virtual void | setGUIToRawOutputIndices (const std::uint16_t *outputIndices, std::uint16_t count)=0 |
Output indices used for mapping gui to raw controls. More... | |
virtual void | setGUIToRawFromValues (const float *fromValues, std::uint16_t count)=0 |
Filter values(lower-bounds) used to decide whether a particular entry should be evaluated or not during gui to raw control mapping. More... | |
virtual void | setGUIToRawToValues (const float *toValues, std::uint16_t count)=0 |
Filter values(upper-bounds) used to decide whether a particular entry should be evaluated or not during gui to raw control mapping. More... | |
virtual void | setGUIToRawSlopeValues (const float *slopeValues, std::uint16_t count)=0 |
Computational values(slope/gradient) used for calculating the output value during gui to raw control mapping. More... | |
virtual void | setGUIToRawCutValues (const float *cutValues, std::uint16_t count)=0 |
Computational values(vertical intercept) used for calculating the output value during gui to raw control mapping. More... | |
virtual void | setPSDCount (std::uint16_t count)=0 |
The number of distinct PSD expressions. More... | |
virtual void | setPSDRowIndices (const std::uint16_t *rowIndices, std::uint16_t count)=0 |
PSD(input) indices which will become the rows of the PSD matrix. More... | |
virtual void | setPSDColumnIndices (const std::uint16_t *columnIndices, std::uint16_t count)=0 |
Control(input) indices which will become the columns of the PSD matrix. More... | |
virtual void | setPSDValues (const float *weights, std::uint16_t count)=0 |
Weights associated with each PSD row and column pair. More... | |
virtual void | setJointRowCount (std::uint16_t rowCount)=0 |
Number of rows in the entire, uncompressed joint matrix. More... | |
virtual void | setJointColumnCount (std::uint16_t columnCount)=0 |
Number of columns in the entire, uncompressed joint matrix. More... | |
virtual void | clearJointGroups ()=0 |
Delete all joint groups. More... | |
virtual void | deleteJointGroup (std::uint16_t jointGroupIndex)=0 |
Delete the specified joint group. More... | |
virtual void | setJointGroupLODs (std::uint16_t jointGroupIndex, const std::uint16_t *lods, std::uint16_t count)=0 |
Number of rows per each level of detail for the specified joint group. More... | |
virtual void | setJointGroupInputIndices (std::uint16_t jointGroupIndex, const std::uint16_t *inputIndices, std::uint16_t count)=0 |
Column indices that the specified joint group contains. More... | |
virtual void | setJointGroupOutputIndices (std::uint16_t jointGroupIndex, const std::uint16_t *outputIndices, std::uint16_t count)=0 |
Row indices that the specified joint group contains. More... | |
virtual void | setJointGroupValues (std::uint16_t jointGroupIndex, const float *values, std::uint32_t count)=0 |
Values that the specified joint group contains. More... | |
virtual void | setJointGroupJointIndices (std::uint16_t jointGroupIndex, const std::uint16_t *jointIndices, std::uint16_t count)=0 |
Joint indices that the specified joint group contains. More... | |
virtual void | setBlendShapeChannelLODs (const std::uint16_t *lods, std::uint16_t count)=0 |
Input index count per each level of detail for blend shapes. More... | |
virtual void | setBlendShapeChannelInputIndices (const std::uint16_t *inputIndices, std::uint16_t count)=0 |
Input indices used to index into the input vector. More... | |
virtual void | setBlendShapeChannelOutputIndices (const std::uint16_t *outputIndices, std::uint16_t count)=0 |
Output indices specify the positions of blend shape output values. More... | |
virtual void | setAnimatedMapLODs (const std::uint16_t *lods, std::uint16_t count)=0 |
Row count per each level of detail for animated maps. More... | |
virtual void | setAnimatedMapInputIndices (const std::uint16_t *inputIndices, std::uint16_t count)=0 |
Input indices used to index into the array of input values. More... | |
virtual void | setAnimatedMapOutputIndices (const std::uint16_t *outputIndices, std::uint16_t count)=0 |
Output indices that specify the computed output value's position. More... | |
virtual void | setAnimatedMapFromValues (const float *fromValues, std::uint16_t count)=0 |
Filter values(lower-bounds) used to decide whether a particular entry should be evaluated or not. More... | |
virtual void | setAnimatedMapToValues (const float *toValues, std::uint16_t count)=0 |
Filter values(upper-bounds) used to decide whether a particular entry should be evaluated or not. More... | |
virtual void | setAnimatedMapSlopeValues (const float *slopeValues, std::uint16_t count)=0 |
Computational values(slope/gradient) used for calculating the output value. More... | |
virtual void | setAnimatedMapCutValues (const float *cutValues, std::uint16_t count)=0 |
Computational values(vertical intercept) used for calculating the output value. More... | |
![]() | |
virtual void | clearGUIControlNames ()=0 |
Delete all stored GUI control names. More... | |
virtual void | setGUIControlName (std::uint16_t index, const char *name)=0 |
Name of the specified GUI control. More... | |
virtual void | clearRawControlNames ()=0 |
Delete all stored raw control names. More... | |
virtual void | setRawControlName (std::uint16_t index, const char *name)=0 |
Name of the specified raw control. More... | |
virtual void | clearJointNames ()=0 |
Delete all stored joint names. More... | |
virtual void | setJointName (std::uint16_t index, const char *name)=0 |
Name of the specified joint. More... | |
virtual void | clearJointIndices ()=0 |
Delete all stored joint indices. More... | |
virtual void | setJointIndices (std::uint16_t index, const std::uint16_t *jointIndices, std::uint16_t count)=0 |
Store a list of joint indices onto a specified index. More... | |
virtual void | clearLODJointMappings ()=0 |
Delete all stored LOD to joint list index mapping entries. More... | |
virtual void | setLODJointMapping (std::uint16_t lod, std::uint16_t index)=0 |
Set which joints belong to which level of detail. More... | |
virtual void | clearBlendShapeChannelNames ()=0 |
Delete all stored blend shape channel names. More... | |
virtual void | setBlendShapeChannelName (std::uint16_t index, const char *name)=0 |
Name of the specified blend shape channel. More... | |
virtual void | clearBlendShapeChannelIndices ()=0 |
Delete all stored blend shape channel indices. More... | |
virtual void | setBlendShapeChannelIndices (std::uint16_t index, const std::uint16_t *blendShapeChannelIndices, std::uint16_t count)=0 |
Store a list of blend shape channel name indices onto a specified index. More... | |
virtual void | clearLODBlendShapeChannelMappings ()=0 |
Delete all stored LOD to blend shape channel list index mapping entries. More... | |
virtual void | setLODBlendShapeChannelMapping (std::uint16_t lod, std::uint16_t index)=0 |
Set which blend shape channels belong to which level of detail. More... | |
virtual void | clearAnimatedMapNames ()=0 |
Delete all stored animated map names. More... | |
virtual void | setAnimatedMapName (std::uint16_t index, const char *name)=0 |
Name of the specified animated map. More... | |
virtual void | clearAnimatedMapIndices ()=0 |
Delete all stored animated map indices. More... | |
virtual void | setAnimatedMapIndices (std::uint16_t index, const std::uint16_t *animatedMapIndices, std::uint16_t count)=0 |
Store a list of animated map name indices onto a specified index. More... | |
virtual void | clearLODAnimatedMapMappings ()=0 |
Delete all stored LOD to animated map list index mapping entries. More... | |
virtual void | setLODAnimatedMapMapping (std::uint16_t lod, std::uint16_t index)=0 |
Set which animated maps belong to which level of detail. More... | |
virtual void | clearMeshNames ()=0 |
Delete all stored mesh names. More... | |
virtual void | setMeshName (std::uint16_t index, const char *name)=0 |
Name of the specified mesh. More... | |
virtual void | clearMeshIndices ()=0 |
Delete all stored mesh indices. More... | |
virtual void | setMeshIndices (std::uint16_t index, const std::uint16_t *meshIndices, std::uint16_t count)=0 |
Store a list of mesh name indices onto a specified index. More... | |
virtual void | clearLODMeshMappings ()=0 |
Delete all stored LOD to mesh list index mapping entries. More... | |
virtual void | setLODMeshMapping (std::uint16_t lod, std::uint16_t index)=0 |
Set which meshes belong to which level of detail. More... | |
virtual void | clearMeshBlendShapeChannelMappings ()=0 |
Delete all stored mesh to blend shape channel mapping entries. More... | |
virtual void | setMeshBlendShapeChannelMapping (std::uint32_t index, std::uint16_t meshIndex, std::uint16_t blendShapeChannelIndex)=0 |
Associate a blend shape channel with it's mesh. More... | |
virtual void | setJointHierarchy (const std::uint16_t *jointIndices, std::uint16_t count)=0 |
A simple array describing the parent-child relationships between joints. More... | |
virtual void | setNeutralJointTranslations (const Vector3 *translations, std::uint16_t count)=0 |
virtual void | setNeutralJointRotations (const Vector3 *rotations, std::uint16_t count)=0 |
![]() | |
virtual void | setName (const char *name)=0 |
virtual void | setArchetype (Archetype archetype)=0 |
virtual void | setGender (Gender gender)=0 |
virtual void | setAge (std::uint16_t age)=0 |
virtual void | clearMetaData ()=0 |
Empties the metadata storage, delete all key-value pairs. More... | |
virtual void | setMetaData (const char *key, const char *value)=0 |
Associate the metadata value with the given key. More... | |
virtual void | setTranslationUnit (TranslationUnit unit)=0 |
virtual void | setRotationUnit (RotationUnit unit)=0 |
virtual void | setCoordinateSystem (CoordinateSystem system)=0 |
virtual void | setLODCount (std::uint16_t lodCount)=0 |
Available levels of detail (e.g. 6 which means the following levels are available: [0,1,2,3,4,5], where 0 is the LOD with the highest details, and 5 is the LOD with lowest details). More... | |
virtual void | setDBMaxLOD (std::uint16_t lod)=0 |
The maximum level of detail stored in the DNA data for this character. More... | |
virtual void | setDBComplexity (const char *name)=0 |
Name of the input control interface used to drive this character rig. More... | |
virtual void | setDBName (const char *name)=0 |
Name of the database from which the character originates. More... | |
![]() | |
virtual void | clearMeshes ()=0 |
Delete all meshes. More... | |
virtual void | deleteMesh (std::uint16_t meshIndex)=0 |
Delete the specified mesh. More... | |
virtual void | setVertexPositions (std::uint16_t meshIndex, const Position *positions, std::uint32_t count)=0 |
List of vertex positions. More... | |
virtual void | setVertexTextureCoordinates (std::uint16_t meshIndex, const TextureCoordinate *textureCoordinates, std::uint32_t count)=0 |
List of vertex texture coordinates. More... | |
virtual void | setVertexNormals (std::uint16_t meshIndex, const Normal *normals, std::uint32_t count)=0 |
List of vertex normals. More... | |
virtual void | setVertexLayouts (std::uint16_t meshIndex, const VertexLayout *layouts, std::uint32_t count)=0 |
List of vertex layouts the belong to the specified mesh. More... | |
virtual void | clearFaceVertexLayoutIndices (std::uint16_t meshIndex)=0 |
Delete all lists of vertex layout indices for the specified mesh. More... | |
virtual void | setFaceVertexLayoutIndices (std::uint16_t meshIndex, std::uint32_t faceIndex, const std::uint32_t *layoutIndices, std::uint32_t count)=0 |
Vertex layout indices that belong to the specified face. More... | |
virtual void | setMaximumInfluencePerVertex (std::uint16_t meshIndex, std::uint16_t maxInfluenceCount)=0 |
virtual void | clearSkinWeights (std::uint16_t meshIndex)=0 |
Delete all skin weights for the specified mesh. More... | |
virtual void | setSkinWeightsValues (std::uint16_t meshIndex, std::uint32_t vertexIndex, const float *weights, std::uint16_t count)=0 |
List of skin weights influencing the referenced vertex. More... | |
virtual void | setSkinWeightsJointIndices (std::uint16_t meshIndex, std::uint32_t vertexIndex, const std::uint16_t *jointIndices, std::uint16_t count)=0 |
List of joint indices associated with each skin weight for the specified vertex. More... | |
virtual void | clearBlendShapeTargets (std::uint16_t meshIndex)=0 |
Delete all blend shape targets for the specified mesh. More... | |
virtual void | setBlendShapeChannelIndex (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint16_t blendShapeChannelIndex)=0 |
The matching blend shape channel index of the specified blend shape target. More... | |
virtual void | setBlendShapeTargetDeltas (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, const Delta *deltas, std::uint32_t count)=0 |
List of deltas for each affected vertex. More... | |
virtual void | setBlendShapeTargetVertexIndices (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, const std::uint32_t *vertexIndices, std::uint32_t count)=0 |
Vertex position indices affected by the specified blend shape target. More... | |
Additional Inherited Members | |
![]() | |
virtual | ~BehaviorWriter () |
![]() | |
virtual | ~DefinitionWriter () |
![]() | |
virtual | ~DescriptorWriter () |
![]() | |
virtual | ~GeometryWriter () |
The abstract Writer which its implementations are expected to inherit.
|
overridedefault |
void dna::Writer::setFrom | ( | const Reader * | source, |
DataLayer | layer = DataLayer::All , |
||
MemoryResource * | memRes = nullptr |
||
) |
Initialize the Writer from the given Reader.
source | The source DNA Reader from which the data needs to be copied. |
layer | Limit which layers should be taken over from the given source reader. |
memRes | Optional memory resource to use for temporary allocations during copying. |
References dna::Behavior, dna::computeDataLayerBitmask(), dna::contains(), dna::copyBehavior(), dna::copyBlendShapeTargets(), dna::copyDefinition(), dna::copyDescriptor(), dna::copyGeometry(), dna::Definition, dna::GeometryBlendShapesOnly, and dna::GeometryRest.
Referenced by dnac::DNACalibDNAReader::create(), and dnac::SetLODsCommand::Impl::run().