15#ifndef DRACO_MESH_TRIANGLE_SOUP_MESH_BUILDER_H_
16#define DRACO_MESH_TRIANGLE_SOUP_MESH_BUILDER_H_
23#ifdef DRACO_TRANSCODER_SUPPORTED
42 void Start(
int num_faces);
44#ifdef DRACO_TRANSCODER_SUPPORTED
46 void SetName(
const std::string &
name);
51 int8_t num_components,
DataType data_type);
53 int8_t num_components,
DataType data_type,
bool normalized);
57 const void *corner_value_0,
58 const void *corner_value_1,
59 const void *corner_value_2);
61#ifdef DRACO_TRANSCODER_SUPPORTED
65 Status ConvertAndSetAttributeValuesForFace(
int att_id,
FaceIndex face_id,
66 int input_num_components,
67 const T *corner_value_0,
68 const T *corner_value_1,
69 const T *corner_value_2);
79 void AddMetadata(std::unique_ptr<GeometryMetadata> metadata) {
80 mesh_->AddMetadata(std::move(metadata));
85 std::unique_ptr<AttributeMetadata> metadata) {
86 mesh_->AddAttributeMetadata(att_id, std::move(metadata));
95 std::vector<int8_t> attribute_element_types_;
97 std::unique_ptr<Mesh> mesh_;
100#ifdef DRACO_TRANSCODER_SUPPORTED
102Status TriangleSoupMeshBuilder::ConvertAndSetAttributeValuesForFace(
103 int att_id,
FaceIndex face_id,
int input_num_components,
104 const T *corner_value_0,
const T *corner_value_1,
const T *corner_value_2) {
105 const int start_index = 3 * face_id.value();
108 att->ConvertAndSetAttributeValue(AttributeValueIndex(start_index + 0),
109 input_num_components, corner_value_0));
111 att->ConvertAndSetAttributeValue(AttributeValueIndex(start_index + 1),
112 input_num_components, corner_value_1));
114 att->ConvertAndSetAttributeValue(AttributeValueIndex(start_index + 2),
115 input_num_components, corner_value_2));
116 mesh_->SetFace(face_id,
Definition ShaderExpr.hh:118
Type
Definition geometry_attribute.h:46
Definition triangle_soup_mesh_builder.h:33
void AddAttributeMetadata(int32_t att_id, std::unique_ptr< AttributeMetadata > metadata)
Definition triangle_soup_mesh_builder.h:84
void SetPerFaceAttributeValueForFace(int att_id, FaceIndex face_id, const void *value)
Definition triangle_soup_mesh_builder.cc:62
FaceIndex ElementIndex
Definition triangle_soup_mesh_builder.h:36
std::unique_ptr< Mesh > Finalize()
Definition triangle_soup_mesh_builder.cc:78
void AddMetadata(std::unique_ptr< GeometryMetadata > metadata)
Definition triangle_soup_mesh_builder.h:79
int AddAttribute(GeometryAttribute::Type attribute_type, int8_t num_components, DataType data_type)
Definition triangle_soup_mesh_builder.cc:32
void SetAttributeValuesForFace(int att_id, FaceIndex face_id, const void *corner_value_0, const void *corner_value_1, const void *corner_value_2)
Definition triangle_soup_mesh_builder.cc:48
void Start(int num_faces)
Definition triangle_soup_mesh_builder.cc:19
iVBORw0KGgoAAAANSUhEUgAAANcAAAB5CAMAAACdtUQZAAAA51BMVEX</div ></div >< div style="padding: 0px 0px; width: 1324px;">< div style="height: 400px; width: 1324px;"></div >< div itemscope itemtype="https: </div><div itemscope itemtype="https:</div >< div itemscope itemtype="https: </div></div><p><div style="padding:0px 0px;width:1324px;"><div></div><div itemscope itemtype="https:< ul >< li >< b > Application name
8AkrcAgqgAs9wqQ0ey2tkAo8gAuuQfeI4hPUH09fXHy8z4+fng4uNKXF/Lz9BzfoAcgpkQMTUAKjAbOT4Qr9AXhJ8Rl7ktMCwTosA...
Definition meshpage.php:1610
Definition attribute_octahedron_transform.cc:21
@ MESH_CORNER_ATTRIBUTE
Definition mesh.h:44
Status OkStatus()
Definition status.h:66
DataType
Definition draco_types.h:26
FaceIndex FaceIndex
Definition mesh_edgebreaker_encoder_impl.cc:36
#define DRACO_RETURN_IF_ERROR(expression)
Definition status.h:73
Definition Triangle.hh:15
Definition GameApi_pl.cc:29382