DNA Calib 1.1
Project brief
GeometryWriter.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
9#include <cstdint>
10
11namespace dna {
12
19class DNAAPI GeometryWriter : public virtual DefinitionWriter {
20 protected:
21 virtual ~GeometryWriter();
22
23 public:
27 virtual void clearMeshes() = 0;
35 virtual void deleteMesh(std::uint16_t meshIndex) = 0;
48 virtual void setVertexPositions(std::uint16_t meshIndex, const Position* positions, std::uint32_t count) = 0;
61 virtual void setVertexTextureCoordinates(std::uint16_t meshIndex,
62 const TextureCoordinate* textureCoordinates,
63 std::uint32_t count) = 0;
76 virtual void setVertexNormals(std::uint16_t meshIndex, const Normal* normals, std::uint32_t count) = 0;
89 virtual void setVertexLayouts(std::uint16_t meshIndex, const VertexLayout* layouts, std::uint32_t count) = 0;
97 virtual void clearFaceVertexLayoutIndices(std::uint16_t meshIndex) = 0;
116 virtual void setFaceVertexLayoutIndices(std::uint16_t meshIndex,
117 std::uint32_t faceIndex,
118 const std::uint32_t* layoutIndices,
119 std::uint32_t count) = 0;
126 virtual void setMaximumInfluencePerVertex(std::uint16_t meshIndex, std::uint16_t maxInfluenceCount) = 0;
134 virtual void clearSkinWeights(std::uint16_t meshIndex) = 0;
152 virtual void setSkinWeightsValues(std::uint16_t meshIndex,
153 std::uint32_t vertexIndex,
154 const float* weights,
155 std::uint16_t count) = 0;
174 virtual void setSkinWeightsJointIndices(std::uint16_t meshIndex,
175 std::uint32_t vertexIndex,
176 const std::uint16_t* jointIndices,
177 std::uint16_t count) = 0;
185 virtual void clearBlendShapeTargets(std::uint16_t meshIndex) = 0;
201 virtual void setBlendShapeChannelIndex(std::uint16_t meshIndex,
202 std::uint16_t blendShapeTargetIndex,
203 std::uint16_t blendShapeChannelIndex) = 0;
219 virtual void setBlendShapeTargetDeltas(std::uint16_t meshIndex,
220 std::uint16_t blendShapeTargetIndex,
221 const Delta* deltas,
222 std::uint32_t count) = 0;
241 virtual void setBlendShapeTargetVertexIndices(std::uint16_t meshIndex,
242 std::uint16_t blendShapeTargetIndex,
243 const std::uint32_t* vertexIndices,
244 std::uint32_t count) = 0;
245
246};
247
248} // namespace dna
Write-only accessors for DNA attributes that represent the rig's static data.
Definition: DefinitionWriter.h:20
Write-only accessors for the geometry data associated with a rig.
Definition: GeometryWriter.h:19
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.
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.
virtual void clearMeshes()=0
Delete all meshes.
virtual void setVertexTextureCoordinates(std::uint16_t meshIndex, const TextureCoordinate *textureCoordinates, std::uint32_t count)=0
List of vertex texture coordinates.
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.
virtual void clearBlendShapeTargets(std::uint16_t meshIndex)=0
Delete all blend shape targets for the specified mesh.
virtual void setVertexNormals(std::uint16_t meshIndex, const Normal *normals, std::uint32_t count)=0
List of vertex normals.
virtual ~GeometryWriter()
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.
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.
virtual void clearFaceVertexLayoutIndices(std::uint16_t meshIndex)=0
Delete all lists of vertex layout indices for the specified mesh.
virtual void deleteMesh(std::uint16_t meshIndex)=0
Delete the specified mesh.
virtual void setMaximumInfluencePerVertex(std::uint16_t meshIndex, std::uint16_t maxInfluenceCount)=0
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.
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.
virtual void clearSkinWeights(std::uint16_t meshIndex)=0
Delete all skin weights for the specified mesh.
virtual void setVertexPositions(std::uint16_t meshIndex, const Position *positions, std::uint32_t count)=0
List of vertex positions.
#define DNAAPI
Definition: dna/Defs.h:26
Definition: BinaryStreamReader.h:10
Definition: Geometry.h:11
Definition: Vector3.h:7
Definition: Geometry.h:20