diff --git a/docs/spec/edgebreaker.traversal.md b/docs/spec/edgebreaker.traversal.md index 01a2575..649b90b 100644 --- a/docs/spec/edgebreaker.traversal.md +++ b/docs/spec/edgebreaker.traversal.md @@ -1,15 +1,33 @@ ## EdgeBreaker Traversal -### ParseEdgebreakerTraversalStandardData() +### ParseEdgebreakerTraversalStandardSymbolData() ~~~~~ -void ParseEdgebreakerTraversalStandardData() { +void ParseEdgebreakerTraversalStandardSymbolData() { eb_symbol_buffer_size UI64 eb_symbol_buffer size * UI8 +} +~~~~~ +{:.draco-syntax } + + +### ParseEdgebreakerTraversalStandardFaceData() + +~~~~~ +void ParseEdgebreakerTraversalStandardFaceData() { eb_start_face_buffer_prob_zero UI8 eb_start_face_buffer_size varUI32 eb_start_face_buffer size * UI8 +} +~~~~~ +{:.draco-syntax } + + +### ParseEdgebreakerTraversalStandardAttributeConnectivityData() + +~~~~~ +void ParseEdgebreakerTraversalStandardAttributeConnectivityData() { for (i = 0; i < num_attribute_data; ++i) { attribute_connectivity_decoders_prob_zero[i] UI8 attribute_connectivity_decoders_size[i] varUI32 @@ -20,14 +38,27 @@ void ParseEdgebreakerTraversalStandardData() { {:.draco-syntax } +### DecodeEdgebreakerTraversalStandardData() + +~~~~~ +void DecodeEdgebreakerTraversalStandardData() { + ParseEdgebreakerTraversalStandardSymbolData() + ParseEdgebreakerTraversalStandardFaceData() + ParseEdgebreakerTraversalStandardAttributeConnectivityData() +} +~~~~~ +{:.draco-syntax } + + ### EdgebreakerTraversalStart() ~~~~~ void EdgebreakerTraversalStart() { last_symbol_ = -1; active_context_ = -1; - ParseEdgebreakerTraversalStandardData(); - if (edgebreaker_traversal_type == VALENCE_EDGEBREAKER) { + if (edgebreaker_traversal_type == STANDARD_EDGEBREAKER) { + DecodeEdgebreakerTraversalStandardData(); + } else if (edgebreaker_traversal_type == VALENCE_EDGEBREAKER) { EdgeBreakerTraversalValenceStart(); } } diff --git a/docs/spec/edgebreaker.traversal.valence.md b/docs/spec/edgebreaker.traversal.valence.md index 55d3fe4..b406440 100644 --- a/docs/spec/edgebreaker.traversal.valence.md +++ b/docs/spec/edgebreaker.traversal.valence.md @@ -16,6 +16,8 @@ void ParseValenceContextCounters(index) { ~~~~~ void EdgeBreakerTraversalValenceStart() { + ParseEdgebreakerTraversalStandardFaceData() + ParseEdgebreakerTraversalStandardAttributeConnectivityData() vertex_valences_.assign(num_encoded_vertices + num_encoded_split_symbols, 0); for (i = 0; i < NUM_UNIQUE_VALENCES; ++i) { ParseValenceContextCounters(i); @@ -38,7 +40,7 @@ void EdgebreakerValenceDecodeSymbol() { [--ebv_context_counters[active_context_]]; last_symbol_ = edge_breaker_symbol_to_topology_id[symbol_id]; } else { - ParseEdgebreakerStandardSymbol(); + last_symbol_ = TOPOLOGY_E; } } ~~~~~