DNA Calib 1.1
Project brief
Public Member Functions | Protected Member Functions | List of all members
dna::GeometryReader Class Referenceabstract

Read-only accessors to the geometry data associated with a rig. More...

#include <GeometryReader.h>

Inheritance diagram for dna::GeometryReader:
Inheritance graph
Collaboration diagram for dna::GeometryReader:
Collaboration graph

Public Member Functions

virtual std::uint32_t getVertexPositionCount (std::uint16_t meshIndex) const =0
 Number of vertex positions in the entire mesh. More...
 
virtual Position getVertexPosition (std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0
 
virtual ConstArrayView< float > getVertexPositionXs (std::uint16_t meshIndex) const =0
 List of all vertex position X values for the referenced mesh. More...
 
virtual ConstArrayView< float > getVertexPositionYs (std::uint16_t meshIndex) const =0
 List of all vertex position Y values for the referenced mesh. More...
 
virtual ConstArrayView< float > getVertexPositionZs (std::uint16_t meshIndex) const =0
 List of all vertex position Z values for the referenced mesh. More...
 
virtual std::uint32_t getVertexTextureCoordinateCount (std::uint16_t meshIndex) const =0
 Number of texture coordinates in the entire mesh. More...
 
virtual TextureCoordinate getVertexTextureCoordinate (std::uint16_t meshIndex, std::uint32_t textureCoordinateIndex) const =0
 
virtual ConstArrayView< float > getVertexTextureCoordinateUs (std::uint16_t meshIndex) const =0
 List of all texture coordinate U values for the referenced mesh. More...
 
virtual ConstArrayView< float > getVertexTextureCoordinateVs (std::uint16_t meshIndex) const =0
 List of all texture coordinate V values for the referenced mesh. More...
 
virtual std::uint32_t getVertexNormalCount (std::uint16_t meshIndex) const =0
 Number of vertex normals in the entire mesh. More...
 
virtual Normal getVertexNormal (std::uint16_t meshIndex, std::uint32_t normalIndex) const =0
 
virtual ConstArrayView< float > getVertexNormalXs (std::uint16_t meshIndex) const =0
 List of all normal X values for the referenced mesh. More...
 
virtual ConstArrayView< float > getVertexNormalYs (std::uint16_t meshIndex) const =0
 List of all normal Y value for the referenced meshs. More...
 
virtual ConstArrayView< float > getVertexNormalZs (std::uint16_t meshIndex) const =0
 List of all normal Z values for the referenced mesh. More...
 
virtual std::uint32_t getVertexLayoutCount (std::uint16_t meshIndex) const =0
 Number of vertex layouts in the entire mesh. More...
 
virtual VertexLayout getVertexLayout (std::uint16_t meshIndex, std::uint32_t layoutIndex) const =0
 Vertex layouts contain only attribute indices which can be used to query the actual attributes, such as positions, texture coordinates and normals, which are associated with the vertex. More...
 
virtual ConstArrayView< std::uint32_t > getVertexLayoutPositionIndices (std::uint16_t meshIndex) const =0
 Position indices for each vertex of the referenced mesh. More...
 
virtual ConstArrayView< std::uint32_t > getVertexLayoutTextureCoordinateIndices (std::uint16_t meshIndex) const =0
 Texture coordinate indices for each vertex of the referenced mesh. More...
 
virtual ConstArrayView< std::uint32_t > getVertexLayoutNormalIndices (std::uint16_t meshIndex) const =0
 Normal indices for each vertex of the referenced mesh. More...
 
virtual std::uint32_t getFaceCount (std::uint16_t meshIndex) const =0
 Number of faces that belong to the specified mesh. More...
 
virtual ConstArrayView< std::uint32_t > getFaceVertexLayoutIndices (std::uint16_t meshIndex, std::uint32_t faceIndex) const =0
 List of vertex layout indices the belong to a face on the specified mesh. More...
 
virtual std::uint16_t getMaximumInfluencePerVertex (std::uint16_t meshIndex) const =0
 The maximum number of joints that may influence any single vertex. More...
 
virtual std::uint32_t getSkinWeightsCount (std::uint16_t meshIndex) const =0
 Number of skin weights associated with the specified mesh. More...
 
virtual ConstArrayView< float > getSkinWeightsValues (std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0
 List of skin weights influencing the requested vertex. More...
 
virtual ConstArrayView< std::uint16_t > getSkinWeightsJointIndices (std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0
 List of joint indices associated with each skin weight for the specified vertex. More...
 
virtual std::uint16_t getBlendShapeTargetCount (std::uint16_t meshIndex) const =0
 Number of blend shapes that belong to the specified mesh. More...
 
virtual std::uint16_t getBlendShapeChannelIndex (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0
 The matching blend shape channel index of the requested blend shape target. More...
 
virtual std::uint32_t getBlendShapeTargetDeltaCount (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0
 Number of deltas that belong to the specified blend shape. More...
 
virtual Delta getBlendShapeTargetDelta (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint32_t deltaIndex) const =0
 List of deltas for each affected vertex. More...
 
virtual ConstArrayView< float > getBlendShapeTargetDeltaXs (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0
 List of all delta X values for the referenced blend shape target. More...
 
virtual ConstArrayView< float > getBlendShapeTargetDeltaYs (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0
 List of all delta Y values for the referenced blend shape target. More...
 
virtual ConstArrayView< float > getBlendShapeTargetDeltaZs (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0
 List of all delta Z values for the referenced blend shape target. More...
 
virtual ConstArrayView< std::uint32_t > getBlendShapeTargetVertexIndices (std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const =0
 Vertex position indices affected by the referenced blend shape target. More...
 
- Public Member Functions inherited from dna::DefinitionReader
virtual std::uint16_t getGUIControlCount () const =0
 
virtual StringView getGUIControlName (std::uint16_t index) const =0
 Name of the requested GUI control. More...
 
virtual std::uint16_t getRawControlCount () const =0
 
virtual StringView getRawControlName (std::uint16_t index) const =0
 Name of the requested raw control. More...
 
virtual std::uint16_t getJointCount () const =0
 
virtual StringView getJointName (std::uint16_t index) const =0
 Name of the requested joint. More...
 
virtual std::uint16_t getJointIndexListCount () const =0
 Number of joint index lists. More...
 
virtual ConstArrayView< std::uint16_t > getJointIndicesForLOD (std::uint16_t lod) const =0
 List of joint indices for the specified LOD. More...
 
virtual std::uint16_t getJointParentIndex (std::uint16_t index) const =0
 Index of the requested joint's parent. More...
 
virtual std::uint16_t getBlendShapeChannelCount () const =0
 
virtual StringView getBlendShapeChannelName (std::uint16_t index) const =0
 Name of the requested blend shape channel. More...
 
virtual std::uint16_t getBlendShapeChannelIndexListCount () const =0
 Number of blend shape channel index lists. More...
 
virtual ConstArrayView< std::uint16_t > getBlendShapeChannelIndicesForLOD (std::uint16_t lod) const =0
 List of blend shape channel indices for the specified LOD. More...
 
virtual std::uint16_t getAnimatedMapCount () const =0
 
virtual StringView getAnimatedMapName (std::uint16_t index) const =0
 Name of the requested animated map. More...
 
virtual std::uint16_t getAnimatedMapIndexListCount () const =0
 Number of animated map index lists. More...
 
virtual ConstArrayView< std::uint16_t > getAnimatedMapIndicesForLOD (std::uint16_t lod) const =0
 List of animated map indices for the specified LOD. More...
 
virtual std::uint16_t getMeshCount () const =0
 
virtual StringView getMeshName (std::uint16_t index) const =0
 Name of the requested mesh. More...
 
virtual std::uint16_t getMeshIndexListCount () const =0
 Number of mesh index lists. More...
 
virtual ConstArrayView< std::uint16_t > getMeshIndicesForLOD (std::uint16_t lod) const =0
 List of mesh indices for the specified LOD. More...
 
virtual std::uint16_t getMeshBlendShapeChannelMappingCount () const =0
 Number of mesh-blend shape channel mapping items. More...
 
virtual MeshBlendShapeChannelMapping getMeshBlendShapeChannelMapping (std::uint16_t index) const =0
 
virtual ConstArrayView< std::uint16_t > getMeshBlendShapeChannelMappingIndicesForLOD (std::uint16_t lod) const =0
 List of mesh-blend shape channel mapping indices for the specified LOD. More...
 
virtual Vector3 getNeutralJointTranslation (std::uint16_t index) const =0
 
virtual ConstArrayView< float > getNeutralJointTranslationXs () const =0
 List of all translation X values. More...
 
virtual ConstArrayView< float > getNeutralJointTranslationYs () const =0
 List of all translation Y values. More...
 
virtual ConstArrayView< float > getNeutralJointTranslationZs () const =0
 List of all translation Z values. More...
 
virtual Vector3 getNeutralJointRotation (std::uint16_t index) const =0
 
virtual ConstArrayView< float > getNeutralJointRotationXs () const =0
 List of all rotation X values. More...
 
virtual ConstArrayView< float > getNeutralJointRotationYs () const =0
 List of all rotation Y values. More...
 
virtual ConstArrayView< float > getNeutralJointRotationZs () const =0
 List of all rotation Z values. More...
 
- Public Member Functions inherited from dna::DescriptorReader
virtual StringView getName () const =0
 
virtual Archetype getArchetype () const =0
 
virtual Gender getGender () const =0
 
virtual std::uint16_t getAge () const =0
 
virtual std::uint32_t getMetaDataCount () const =0
 
virtual StringView getMetaDataKey (std::uint32_t index) const =0
 
virtual StringView getMetaDataValue (const char *key) const =0
 Stored metadata value associated with the given key. More...
 
virtual TranslationUnit getTranslationUnit () const =0
 
virtual RotationUnit getRotationUnit () const =0
 
virtual CoordinateSystem getCoordinateSystem () const =0
 
virtual std::uint16_t getLODCount () const =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 std::uint16_t getDBMaxLOD () const =0
 The maximum level of detail stored in the DNA data for this character. More...
 
virtual StringView getDBComplexity () const =0
 Name of the input control interface used to drive this character rig. More...
 
virtual StringView getDBName () const =0
 Name of the database from which the character originates. More...
 

Protected Member Functions

virtual ~GeometryReader ()
 
- Protected Member Functions inherited from dna::DefinitionReader
virtual ~DefinitionReader ()
 
- Protected Member Functions inherited from dna::DescriptorReader
virtual ~DescriptorReader ()
 

Detailed Description

Read-only accessors to the geometry data associated with a rig.

Warning
Implementors should inherit from Reader itself and not this class.

Constructor & Destructor Documentation

◆ ~GeometryReader()

dna::GeometryReader::~GeometryReader ( )
protectedvirtualdefault

Member Function Documentation

◆ getBlendShapeChannelIndex()

virtual std::uint16_t dna::GeometryReader::getBlendShapeChannelIndex ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex 
) const
pure virtual

The matching blend shape channel index of the requested blend shape target.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.
See also
DefinitionReader::getBlendShapeName

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyBlendShapeTargets().

◆ getBlendShapeTargetCount()

virtual std::uint16_t dna::GeometryReader::getBlendShapeTargetCount ( std::uint16_t  meshIndex) const
pure virtual

Number of blend shapes that belong to the specified mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyBlendShapeTargets(), and dna::hasBlendShapeTargets().

◆ getBlendShapeTargetDelta()

virtual Delta dna::GeometryReader::getBlendShapeTargetDelta ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex,
std::uint32_t  deltaIndex 
) const
pure virtual

List of deltas for each affected vertex.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.
Parameters
deltaIndexA position in the zero-indexed array of blend shapes deltas.
Warning
deltaIndex must be less than the value returned by getBlendShapeTargetDeltaCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyBlendShapeTargets().

◆ getBlendShapeTargetDeltaCount()

virtual std::uint32_t dna::GeometryReader::getBlendShapeTargetDeltaCount ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex 
) const
pure virtual

Number of deltas that belong to the specified blend shape.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyBlendShapeTargets().

◆ getBlendShapeTargetDeltaXs()

virtual ConstArrayView< float > dna::GeometryReader::getBlendShapeTargetDeltaXs ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex 
) const
pure virtual

List of all delta X values for the referenced blend shape target.

Note
This is an advanced API for performance critical access, for more convenient usage see getBlendShapeTargetDelta.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.
Returns
View over all X values.
See also
getBlendShapeTargetDelta

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getBlendShapeTargetDeltaYs()

virtual ConstArrayView< float > dna::GeometryReader::getBlendShapeTargetDeltaYs ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex 
) const
pure virtual

List of all delta Y values for the referenced blend shape target.

Note
This is an advanced API for performance critical access, for more convenient usage see getBlendShapeTargetDelta.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.
Returns
View over all Y values.
See also
getBlendShapeTargetDelta

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getBlendShapeTargetDeltaZs()

virtual ConstArrayView< float > dna::GeometryReader::getBlendShapeTargetDeltaZs ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex 
) const
pure virtual

List of all delta Z values for the referenced blend shape target.

Note
This is an advanced API for performance critical access, for more convenient usage see getBlendShapeTargetDelta.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.
Returns
View over all Z values.
See also
getBlendShapeTargetDelta

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getBlendShapeTargetVertexIndices()

virtual ConstArrayView< std::uint32_t > dna::GeometryReader::getBlendShapeTargetVertexIndices ( std::uint16_t  meshIndex,
std::uint16_t  blendShapeTargetIndex 
) const
pure virtual

Vertex position indices affected by the referenced blend shape target.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
blendShapeTargetIndexA position in the zero-indexed array of blend shape targets within the specified mesh.
Warning
blendShapeTargetIndex must be less than the value returned by getBlendShapeTargetCount.
Note
The vertex position indices are stored in the same order as the deltas they are associated with. These indices can be used to query the associated vertices themselves through getVertexPosition.
See also
getVertexPosition
Returns
View over the list of vertex position indices.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyBlendShapeTargets().

◆ getFaceCount()

virtual std::uint32_t dna::GeometryReader::getFaceCount ( std::uint16_t  meshIndex) const
pure virtual

Number of faces that belong to the specified mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getFaceVertexLayoutIndices()

virtual ConstArrayView< std::uint32_t > dna::GeometryReader::getFaceVertexLayoutIndices ( std::uint16_t  meshIndex,
std::uint32_t  faceIndex 
) const
pure virtual

List of vertex layout indices the belong to a face on the specified mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
faceIndexA face's position in the zero-indexed array of faces that belong to the above referenced mesh.
Warning
faceIndex must be less than the value returned by getFaceCount.
Returns
View over the list of vertex layout indices.
See also
getVertexLayout

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getMaximumInfluencePerVertex()

virtual std::uint16_t dna::GeometryReader::getMaximumInfluencePerVertex ( std::uint16_t  meshIndex) const
pure virtual

The maximum number of joints that may influence any single vertex.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getSkinWeightsCount()

virtual std::uint32_t dna::GeometryReader::getSkinWeightsCount ( std::uint16_t  meshIndex) const
pure virtual

Number of skin weights associated with the specified mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry(), and dna::hasGeometry().

◆ getSkinWeightsJointIndices()

virtual ConstArrayView< std::uint16_t > dna::GeometryReader::getSkinWeightsJointIndices ( std::uint16_t  meshIndex,
std::uint32_t  vertexIndex 
) const
pure virtual

List of joint indices associated with each skin weight for the specified vertex.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
vertexIndexA position in the zero-indexed array of vertices.
Warning
vertexIndex must be less than the value returned by getVertexPositionCount.
Note
The joint indices are stored in the same order as the weights they are associated with.
Returns
View over the list of joint indices.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getSkinWeightsValues()

virtual ConstArrayView< float > dna::GeometryReader::getSkinWeightsValues ( std::uint16_t  meshIndex,
std::uint32_t  vertexIndex 
) const
pure virtual

List of skin weights influencing the requested vertex.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
vertexIndexA position in the zero-indexed array of vertices.
Warning
vertexIndex must be less than the value returned by getVertexPositionCount.
Returns
View over the list of skin weights.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getVertexLayout()

virtual VertexLayout dna::GeometryReader::getVertexLayout ( std::uint16_t  meshIndex,
std::uint32_t  layoutIndex 
) const
pure virtual

Vertex layouts contain only attribute indices which can be used to query the actual attributes, such as positions, texture coordinates and normals, which are associated with the vertex.

Note
The indices from a layout are usable with the above defined APIs.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
layoutIndexThe index of the layout in the zero-indexed array of vertex layouts.
Warning
layoutIndex must be less than the value returned by getVertexLayoutCount.
See also
getVertexPosition
getVertexTextureCoordinate
getVertexNormal

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getVertexLayoutCount()

virtual std::uint32_t dna::GeometryReader::getVertexLayoutCount ( std::uint16_t  meshIndex) const
pure virtual

Number of vertex layouts in the entire mesh.

Note
A vertex layout is a collection of vertex attributes.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry(), and dna::hasGeometry().

◆ getVertexLayoutNormalIndices()

virtual ConstArrayView< std::uint32_t > dna::GeometryReader::getVertexLayoutNormalIndices ( std::uint16_t  meshIndex) const
pure virtual

Normal indices for each vertex of the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexLayout.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all vertex normal indices.
See also
getVertexLayout

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexLayoutPositionIndices()

virtual ConstArrayView< std::uint32_t > dna::GeometryReader::getVertexLayoutPositionIndices ( std::uint16_t  meshIndex) const
pure virtual

Position indices for each vertex of the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexLayout.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all vertex position indices values.
See also
getVertexLayout

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexLayoutTextureCoordinateIndices()

virtual ConstArrayView< std::uint32_t > dna::GeometryReader::getVertexLayoutTextureCoordinateIndices ( std::uint16_t  meshIndex) const
pure virtual

Texture coordinate indices for each vertex of the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexLayout.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all vertex texture coordinate indices.
See also
getVertexLayout

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexNormal()

virtual Normal dna::GeometryReader::getVertexNormal ( std::uint16_t  meshIndex,
std::uint32_t  normalIndex 
) const
pure virtual
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
normalIndexThe index of the vertex normal in the zero-indexed array of vertex normals.
Warning
normalIndex must be less than the value returned by getVertexNormalCount.
Returns
The vertex normal.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getVertexNormalCount()

virtual std::uint32_t dna::GeometryReader::getVertexNormalCount ( std::uint16_t  meshIndex) const
pure virtual

Number of vertex normals in the entire mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry(), and dna::hasGeometry().

◆ getVertexNormalXs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexNormalXs ( std::uint16_t  meshIndex) const
pure virtual

List of all normal X values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexNormal.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all X values.
See also
getVertexNormal

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexNormalYs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexNormalYs ( std::uint16_t  meshIndex) const
pure virtual

List of all normal Y value for the referenced meshs.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexNormal.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all Y values.
See also
getVertexNormal

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexNormalZs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexNormalZs ( std::uint16_t  meshIndex) const
pure virtual

List of all normal Z values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexNormal.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all Z values.
See also
getVertexNormal

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexPosition()

virtual Position dna::GeometryReader::getVertexPosition ( std::uint16_t  meshIndex,
std::uint32_t  vertexIndex 
) const
pure virtual
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
vertexIndexThe index of the vertex position in the zero-indexed array of vertex positions.
Warning
vertexIndex must be less than the value returned by getVertexPositionCount.
Note
The vertices are sorted by the vertex ID.
Returns
The vertex position.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getVertexPositionCount()

virtual std::uint32_t dna::GeometryReader::getVertexPositionCount ( std::uint16_t  meshIndex) const
pure virtual

Number of vertex positions in the entire mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry(), and dna::hasGeometry().

◆ getVertexPositionXs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexPositionXs ( std::uint16_t  meshIndex) const
pure virtual

List of all vertex position X values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexPosition.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all X values.
See also
getVertexPosition

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexPositionYs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexPositionYs ( std::uint16_t  meshIndex) const
pure virtual

List of all vertex position Y values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexPosition.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all Y values.
See also
getVertexPosition

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexPositionZs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexPositionZs ( std::uint16_t  meshIndex) const
pure virtual

List of all vertex position Z values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexPosition.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all Z values.
See also
getVertexPosition

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexTextureCoordinate()

virtual TextureCoordinate dna::GeometryReader::getVertexTextureCoordinate ( std::uint16_t  meshIndex,
std::uint32_t  textureCoordinateIndex 
) const
pure virtual
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Parameters
textureCoordinateIndexThe index of the texture coordinate in the zero-indexed array of texture coordinates.
Warning
textureCoordinateIndex must be less than the value returned by getVertexTextureCoordinateCount.
Returns
The texture coordinate.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry().

◆ getVertexTextureCoordinateCount()

virtual std::uint32_t dna::GeometryReader::getVertexTextureCoordinateCount ( std::uint16_t  meshIndex) const
pure virtual

Number of texture coordinates in the entire mesh.

Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

Referenced by dna::copyGeometry(), and dna::hasGeometry().

◆ getVertexTextureCoordinateUs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexTextureCoordinateUs ( std::uint16_t  meshIndex) const
pure virtual

List of all texture coordinate U values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexTextureCoordinate.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all U values.
See also
getVertexTextureCoordinate

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.

◆ getVertexTextureCoordinateVs()

virtual ConstArrayView< float > dna::GeometryReader::getVertexTextureCoordinateVs ( std::uint16_t  meshIndex) const
pure virtual

List of all texture coordinate V values for the referenced mesh.

Note
This is an advanced API for performance critical access, for more convenient usage see getVertexTextureCoordinate.
Parameters
meshIndexA mesh's position in the zero-indexed array of meshes.
Warning
meshIndex must be less than the value returned by getMeshCount.
Returns
View over all V values.
See also
getVertexTextureCoordinate

Implemented in dna::ReaderImpl< BinaryStreamReader >, dna::ReaderImpl< JSONStreamReader >, and dnac::ReaderImpl< DNACalibDNAReader >.


The documentation for this class was generated from the following files: