DNA Calib 1.1
Project brief
GeometryReader.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "dna/Defs.h"
8#include "dna/types/Aliases.h"
9
10#include <cstdint>
11
12namespace dna {
13
19class DNAAPI GeometryReader : public virtual DefinitionReader {
20 protected:
21 virtual ~GeometryReader();
22
23 public:
31 virtual std::uint32_t getVertexPositionCount(std::uint16_t meshIndex) const = 0;
45 virtual Position getVertexPosition(std::uint16_t meshIndex, std::uint32_t vertexIndex) const = 0;
57 virtual ConstArrayView<float> getVertexPositionXs(std::uint16_t meshIndex) const = 0;
69 virtual ConstArrayView<float> getVertexPositionYs(std::uint16_t meshIndex) const = 0;
81 virtual ConstArrayView<float> getVertexPositionZs(std::uint16_t meshIndex) const = 0;
89 virtual std::uint32_t getVertexTextureCoordinateCount(std::uint16_t meshIndex) const = 0;
101 virtual TextureCoordinate getVertexTextureCoordinate(std::uint16_t meshIndex,
102 std::uint32_t textureCoordinateIndex) const = 0;
114 virtual ConstArrayView<float> getVertexTextureCoordinateUs(std::uint16_t meshIndex) const = 0;
126 virtual ConstArrayView<float> getVertexTextureCoordinateVs(std::uint16_t meshIndex) const = 0;
134 virtual std::uint32_t getVertexNormalCount(std::uint16_t meshIndex) const = 0;
146 virtual Normal getVertexNormal(std::uint16_t meshIndex, std::uint32_t normalIndex) const = 0;
158 virtual ConstArrayView<float> getVertexNormalXs(std::uint16_t meshIndex) const = 0;
170 virtual ConstArrayView<float> getVertexNormalYs(std::uint16_t meshIndex) const = 0;
182 virtual ConstArrayView<float> getVertexNormalZs(std::uint16_t meshIndex) const = 0;
192 virtual std::uint32_t getVertexLayoutCount(std::uint16_t meshIndex) const = 0;
211 virtual VertexLayout getVertexLayout(std::uint16_t meshIndex, std::uint32_t layoutIndex) const = 0;
223 virtual ConstArrayView<std::uint32_t> getVertexLayoutPositionIndices(std::uint16_t meshIndex) const = 0;
247 virtual ConstArrayView<std::uint32_t> getVertexLayoutNormalIndices(std::uint16_t meshIndex) const = 0;
255 virtual std::uint32_t getFaceCount(std::uint16_t meshIndex) const = 0;
271 std::uint32_t faceIndex) const = 0;
279 virtual std::uint16_t getMaximumInfluencePerVertex(std::uint16_t meshIndex) const = 0;
287 virtual std::uint32_t getSkinWeightsCount(std::uint16_t meshIndex) const = 0;
300 virtual ConstArrayView<float> getSkinWeightsValues(std::uint16_t meshIndex, std::uint32_t vertexIndex) const = 0;
317 std::uint32_t vertexIndex) const = 0;
325 virtual std::uint16_t getBlendShapeTargetCount(std::uint16_t meshIndex) const = 0;
337 virtual std::uint16_t getBlendShapeChannelIndex(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const = 0;
349 virtual std::uint32_t getBlendShapeTargetDeltaCount(std::uint16_t meshIndex,
350 std::uint16_t blendShapeTargetIndex) const = 0;
366 virtual Delta getBlendShapeTargetDelta(std::uint16_t meshIndex,
367 std::uint16_t blendShapeTargetIndex,
368 std::uint32_t deltaIndex) const = 0;
384 virtual ConstArrayView<float> getBlendShapeTargetDeltaXs(std::uint16_t meshIndex,
385 std::uint16_t blendShapeTargetIndex) const = 0;
401 virtual ConstArrayView<float> getBlendShapeTargetDeltaYs(std::uint16_t meshIndex,
402 std::uint16_t blendShapeTargetIndex) const = 0;
418 virtual ConstArrayView<float> getBlendShapeTargetDeltaZs(std::uint16_t meshIndex,
419 std::uint16_t blendShapeTargetIndex) const = 0;
438 std::uint16_t blendShapeTargetIndex) const = 0;
439
440};
441
442} // namespace dna
Read-only accessors for DNA attributes that represent the rig's static data.
Definition: DefinitionReader.h:28
Read-only accessors to the geometry data associated with a rig.
Definition: GeometryReader.h:19
virtual std::uint32_t getVertexNormalCount(std::uint16_t meshIndex) const =0
Number of vertex normals in the entire mesh.
virtual Position getVertexPosition(std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0
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.
virtual ConstArrayView< float > getSkinWeightsValues(std::uint16_t meshIndex, std::uint32_t vertexIndex) const =0
List of skin weights influencing the requested vertex.
virtual ConstArrayView< float > getVertexPositionYs(std::uint16_t meshIndex) const =0
List of all vertex position Y values for the referenced mesh.
virtual std::uint32_t getVertexLayoutCount(std::uint16_t meshIndex) const =0
Number of vertex layouts in the entire mesh.
virtual ConstArrayView< float > getVertexNormalZs(std::uint16_t meshIndex) const =0
List of all normal Z values for the referenced mesh.
virtual ~GeometryReader()
virtual std::uint32_t getSkinWeightsCount(std::uint16_t meshIndex) const =0
Number of skin weights associated with the specified mesh.
virtual ConstArrayView< float > getVertexTextureCoordinateVs(std::uint16_t meshIndex) const =0
List of all texture coordinate V values for the referenced mesh.
virtual TextureCoordinate getVertexTextureCoordinate(std::uint16_t meshIndex, std::uint32_t textureCoordinateIndex) const =0
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.
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.
virtual ConstArrayView< std::uint32_t > getVertexLayoutPositionIndices(std::uint16_t meshIndex) const =0
Position indices for each vertex of the referenced mesh.
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.
virtual ConstArrayView< float > getVertexNormalYs(std::uint16_t meshIndex) const =0
List of all normal Y value for the referenced meshs.
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.
virtual std::uint16_t getBlendShapeTargetCount(std::uint16_t meshIndex) const =0
Number of blend shapes that belong to the specified mesh.
virtual ConstArrayView< std::uint32_t > getVertexLayoutTextureCoordinateIndices(std::uint16_t meshIndex) const =0
Texture coordinate indices for each vertex of the referenced mesh.
virtual Delta getBlendShapeTargetDelta(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint32_t deltaIndex) const =0
List of deltas for each affected vertex.
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.
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,...
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.
virtual ConstArrayView< float > getVertexPositionXs(std::uint16_t meshIndex) const =0
List of all vertex position X values for the referenced mesh.
virtual ConstArrayView< std::uint32_t > getVertexLayoutNormalIndices(std::uint16_t meshIndex) const =0
Normal indices for each vertex of the referenced mesh.
virtual std::uint16_t getMaximumInfluencePerVertex(std::uint16_t meshIndex) const =0
The maximum number of joints that may influence any single vertex.
virtual ConstArrayView< float > getVertexPositionZs(std::uint16_t meshIndex) const =0
List of all vertex position Z values for the referenced mesh.
virtual std::uint32_t getVertexTextureCoordinateCount(std::uint16_t meshIndex) const =0
Number of texture coordinates in the entire mesh.
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.
virtual std::uint32_t getFaceCount(std::uint16_t meshIndex) const =0
Number of faces that belong to the specified mesh.
virtual ConstArrayView< float > getVertexTextureCoordinateUs(std::uint16_t meshIndex) const =0
List of all texture coordinate U values for the referenced mesh.
virtual std::uint32_t getVertexPositionCount(std::uint16_t meshIndex) const =0
Number of vertex positions in the entire mesh.
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.
A view over a continuous sequence of objects.
Definition: ArrayView.h:55
#define DNAAPI
Definition: dna/Defs.h:26
Definition: BinaryStreamReader.h:10
Definition: Geometry.h:11
Definition: Vector3.h:7
Definition: Geometry.h:20