15#ifndef DRACO_COMPRESSION_MESH_TRAVERSER_MESH_ATTRIBUTE_INDICES_ENCODING_OBSERVER_H_
16#define DRACO_COMPRESSION_MESH_TRAVERSER_MESH_ATTRIBUTE_INDICES_ENCODING_OBSERVER_H_
29template <
class CornerTableT>
33 : att_connectivity_(nullptr),
34 encoding_data_(nullptr),
36 sequencer_(nullptr) {}
38 const CornerTableT *connectivity,
const Mesh *mesh,
41 : att_connectivity_(connectivity),
42 encoding_data_(encoding_data),
44 sequencer_(sequencer) {}
52 mesh_->
face(
FaceIndex(corner.value() / 3))[corner.value() % 3];
54 sequencer_->AddPointId(point_id);
57 encoding_data_->encoded_attribute_value_index_to_corner_map.push_back(
61 ->vertex_to_encoded_attribute_value_index_map[vertex.value()] =
62 encoding_data_->num_values;
64 encoding_data_->num_values++;
68 const CornerTableT *att_connectivity_;
MeshAttributeIndicesEncodingObserver(const CornerTableT *connectivity, const Mesh *mesh, PointsSequencer *sequencer, MeshAttributeIndicesEncodingData *encoding_data)
Definition mesh_attribute_indices_encoding_observer.h:37
MeshAttributeIndicesEncodingObserver()
Definition mesh_attribute_indices_encoding_observer.h:32
void OnNewFaceVisited(FaceIndex)
Definition mesh_attribute_indices_encoding_observer.h:48
void OnNewVertexVisited(VertexIndex vertex, CornerIndex corner)
Definition mesh_attribute_indices_encoding_observer.h:50
Definition points_sequencer.h:27
Definition attribute_octahedron_transform.cc:21
VertexIndex VertexIndex
Definition mesh_edgebreaker_encoder_impl.cc:37
CornerIndex CornerIndex
Definition mesh_edgebreaker_encoder_impl.cc:35
FaceIndex FaceIndex
Definition mesh_edgebreaker_encoder_impl.cc:36
Definition GameApi_pl.cc:29382
int face
Definition GameApi_pl.cc:29383
Definition mesh_attribute_indices_encoding_data.h:27