Merge pull request #231 from google/spec_valence_header_2.2

Spec update Valence traversal to 2.2
This commit is contained in:
FrankGalligan 2017-10-13 10:06:57 -07:00 committed by GitHub
commit 9c75f367f2
4 changed files with 6 additions and 33 deletions

View File

@ -40,7 +40,7 @@ void DecodeAttributeData() {
curr_att_dec = 0;
if (encoder_method == MESH_EDGEBREAKER_ENCODING) {
DecodeAttributeSeams();
for (i = 0; i < num_encoded_vertices + eb_num_split_symbols; ++i) {
for (i = 0; i < num_encoded_vertices + num_encoded_split_symbols; ++i) {
if (is_vert_hole_[i]) {
UpdateVertexToCornerMap(i);
}
@ -86,7 +86,7 @@ void RecomputeVerticesInternal() {
attr_face_to_vertex.push_back(face_to_vertex);
corner_to_vertex_map_[curr_att_dec].assign(
attr_face_to_vertex[attr][0].size() * 3, -1);
for (v = 0; v < num_encoded_vertices + eb_num_split_symbols; ++v) {
for (v = 0; v < num_encoded_vertices + num_encoded_split_symbols; ++v) {
c = vertex_corners_[v];
if (c < 0)
continue;
@ -129,7 +129,7 @@ void RecomputeVerticesInternal() {
~~~~~
void Attribute_AssignPointsToCorners() {
num_corners = face_to_vertex[0].size() * 3;
for (v = 0; v < num_encoded_vertices + eb_num_split_symbols; ++v) {
for (v = 0; v < num_encoded_vertices + num_encoded_split_symbols; ++v) {
c = vertex_corners_[v];
if (c < 0)
continue;
@ -205,7 +205,7 @@ void SequentialGenerateSequence() {
~~~~~
void EdgebreakerGenerateSequence() {
if (att_dec_traversal_method[curr_att_dec] == MESH_TRAVERSAL_PREDICTION_DEGREE) {
prediction_degree_.assign(num_encoded_vertices + eb_num_split_symbols, 0);
prediction_degree_.assign(num_encoded_vertices + num_encoded_split_symbols, 0);
}
for (i = 0; i < num_faces; ++i) {
if (att_dec_traversal_method[curr_att_dec] == MESH_TRAVERSAL_DEPTH_FIRST) {

View File

@ -19,26 +19,13 @@ void ParseEdgebreakerTraversalStandardData() {
{:.draco-syntax }
### DecodeEdgebreakerTraversalData()
~~~~~
void DecodeEdgebreakerTraversalData() {
ParseEdgebreakerTraversalStandardData();
if (edgebreaker_traversal_type == VALENCE_EDGEBREAKER) {
ParseEdgebreakerTraversalValenceData();
}
}
~~~~~
{:.draco-syntax }
### EdgebreakerTraversalStart()
~~~~~
void EdgebreakerTraversalStart() {
last_symbol_ = -1;
active_context_ = -1;
DecodeEdgebreakerTraversalData();
ParseEdgebreakerTraversalStandardData();
if (edgebreaker_traversal_type == VALENCE_EDGEBREAKER) {
EdgeBreakerTraversalValenceStart();
}

View File

@ -1,18 +1,6 @@
## EdgeBreaker Traversal Valence
### ParseEdgebreakerTraversalValenceData()
~~~~~
void ParseEdgebreakerTraversalValenceData() {
eb_num_split_symbols varUI32
eb_mode I8
}
~~~~~
{:.draco-syntax }
### ParseValenceContextCounters()
~~~~~
@ -28,7 +16,7 @@ void ParseValenceContextCounters(index) {
~~~~~
void EdgeBreakerTraversalValenceStart() {
vertex_valences_.assign(num_encoded_vertices + eb_num_split_symbols, 0);
vertex_valences_.assign(num_encoded_vertices + num_encoded_split_symbols, 0);
for (i = 0; i < NUM_UNIQUE_VALENCES; ++i) {
ParseValenceContextCounters(i);
if (ebv_context_counters[i] > 0) {

View File

@ -156,8 +156,6 @@
* Array of attribute connectivity data
#### EdgeBreaker Valence Traversal
* eb_num_split_symbols
* eb_mode
* ebv_context_counters
* Array of number of context symbols
* ebv_context_symbols