GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
draco Namespace Reference

Namespaces

namespace  constrained_multi_parallelogram
namespace  features

Classes

class  AttributeOctahedronTransform
class  AttributeQuantizationTransform
class  AttributeTransform
class  AttributeTransformData
class  GeometryAttribute
struct  GeometryAttributeHasher
struct  GeometryAttributeTypeHasher
class  PointAttribute
struct  PointAttributeHasher
class  AttributesDecoder
class  AttributesDecoderInterface
class  AttributesEncoder
class  PointAttributeVectorOutputIterator
class  KdTreeAttributesDecoder
class  KdTreeAttributesEncoder
class  LinearSequencer
struct  MeshAttributeIndicesEncodingData
class  OctahedronToolBox
class  PseudoPointD
class  PointDVector
class  PointDVectorTest
class  PointsSequencer
class  MeshPredictionSchemeConstrainedMultiParallelogramDecoder
class  MeshPredictionSchemeConstrainedMultiParallelogramEncoder
class  MeshPredictionSchemeData
class  MeshPredictionSchemeDecoder
class  MeshPredictionSchemeEncoder
class  MeshPredictionSchemeGeometricNormalDecoder
class  MeshPredictionSchemeGeometricNormalEncoder
class  MeshPredictionSchemeGeometricNormalPredictorArea
class  MeshPredictionSchemeGeometricNormalPredictorBase
class  MeshPredictionSchemeMultiParallelogramEncoder
class  MeshPredictionSchemeParallelogramDecoder
class  MeshPredictionSchemeParallelogramEncoder
class  MeshPredictionSchemeTexCoordsEncoder
class  MeshPredictionSchemeTexCoordsPortableDecoder
class  MeshPredictionSchemeTexCoordsPortableEncoder
class  MeshPredictionSchemeTexCoordsPortablePredictor
class  PredictionSchemeDecoder
struct  MeshPredictionSchemeDecoderFactory
class  PredictionSchemeDecoderInterface
class  PredictionSchemeTypedDecoderInterface
class  PredictionSchemeDecodingTransform
class  PredictionSchemeDeltaDecoder
class  PredictionSchemeDeltaEncoder
class  PredictionSchemeEncoder
struct  MeshPredictionSchemeEncoderFactory
class  PredictionSchemeEncoderInterface
class  PredictionSchemeTypedEncoderInterface
class  PredictionSchemeEncodingTransform
class  PredictionSchemeInterface
class  PredictionSchemeNormalOctahedronCanonicalizedDecodingTransform
class  PredictionSchemeNormalOctahedronCanonicalizedEncodingTransform
class  PredictionSchemeNormalOctahedronCanonicalizedTransformBase
class  PredictionSchemeNormalOctahedronEncodingTransform
class  PredictionSchemeNormalOctahedronTransformBase
class  PredictionSchemeWrapDecodingTransform
class  PredictionSchemeWrapEncodingTransform
class  PredictionSchemeWrapTransformBase
class  SequentialAttributeDecoder
class  SequentialAttributeDecodersController
class  SequentialAttributeEncoder
class  SequentialAttributeEncodersController
class  SequentialIntegerAttributeDecoder
class  SequentialIntegerAttributeEncoder
class  SequentialIntegerAttributeEncodingTest
class  SequentialNormalAttributeDecoder
class  SequentialNormalAttributeEncoder
class  SequentialQuantizationAttributeDecoder
class  SequentialQuantizationAttributeEncoder
class  AdaptiveRAnsBitDecoder
class  AdaptiveRAnsBitEncoder
class  DirectBitDecoder
class  DirectBitEncoder
class  FoldedBit32Decoder
class  FoldedBit32Encoder
class  RAnsBitDecoder
class  RAnsBitEncoder
class  SymbolBitDecoder
class  SymbolBitEncoder
struct  DracoHeader
class  DracoOptions
class  EncoderOptionsBase
class  Decoder
class  Encoder
class  EncoderBase
struct  AnsCoder
struct  AnsDecoder
struct  rans_sym
class  RAnsEncoder
struct  rans_dec_sym
class  RAnsDecoder
class  RAnsSymbolDecoder
class  RAnsSymbolEncoder
class  ShannonEntropyTracker
class  SymbolCodingTest
class  ExpertEncoder
class  MeshDecoder
class  MeshEdgebreakerDecoder
class  MeshEdgebreakerDecoderImpl
class  MeshEdgebreakerDecoderImplInterface
class  MeshEdgebreakerEncoder
class  MeshEdgebreakerEncoderImpl
class  MeshEdgebreakerEncoderImplInterface
class  MeshEdgebreakerEncodingTest
struct  TopologySplitEventData
struct  HoleEventData
class  MeshEdgebreakerTraversalDecoder
class  MeshEdgebreakerTraversalEncoder
class  MeshEdgebreakerTraversalPredictiveEncoder
class  MeshEdgebreakerTraversalValenceDecoder
class  MeshEdgebreakerTraversalValenceEncoder
class  MeshEncoder
struct  MeshEncoderTestParams
class  MeshEncoderTest
class  MeshSequentialDecoder
class  MeshSequentialEncoder
class  DepthFirstTraverser
class  MaxPredictionDegreeTraverser
class  MeshAttributeIndicesEncodingObserver
class  MeshTraversalSequencer
class  TraverserBase
struct  DynamicIntegerPointsKdTreeDecoderCompressionPolicy
struct  DynamicIntegerPointsKdTreeDecoderCompressionPolicy< 0 >
struct  DynamicIntegerPointsKdTreeDecoderCompressionPolicy< 2 >
struct  DynamicIntegerPointsKdTreeDecoderCompressionPolicy< 4 >
struct  DynamicIntegerPointsKdTreeDecoderCompressionPolicy< 6 >
class  DynamicIntegerPointsKdTreeDecoder
struct  DynamicIntegerPointsKdTreeEncoderCompressionPolicy
struct  DynamicIntegerPointsKdTreeEncoderCompressionPolicy< 0 >
struct  DynamicIntegerPointsKdTreeEncoderCompressionPolicy< 2 >
struct  DynamicIntegerPointsKdTreeEncoderCompressionPolicy< 4 >
struct  DynamicIntegerPointsKdTreeEncoderCompressionPolicy< 6 >
class  DynamicIntegerPointsKdTreeEncoder
struct  Converter
class  ConversionOutputIterator
class  FloatPointsTreeDecoder
class  FloatPointsTreeEncoder
struct  IntegerPointsKdTreeDecoderCompressionPolicy
struct  IntegerPointsKdTreeDecoderCompressionPolicy< 0 >
struct  IntegerPointsKdTreeDecoderCompressionPolicy< 2 >
struct  IntegerPointsKdTreeDecoderCompressionPolicy< 4 >
struct  IntegerPointsKdTreeDecoderCompressionPolicy< 6 >
struct  IntegerPointsKdTreeDecoderCompressionPolicy< 8 >
struct  IntegerPointsKdTreeDecoderCompressionPolicy< 10 >
class  IntegerPointsKdTreeDecoder
struct  IntegerPointsKdTreeEncoderCompressionPolicy
struct  IntegerPointsKdTreeEncoderCompressionPolicy< 0 >
struct  IntegerPointsKdTreeEncoderCompressionPolicy< 2 >
struct  IntegerPointsKdTreeEncoderCompressionPolicy< 4 >
struct  IntegerPointsKdTreeEncoderCompressionPolicy< 6 >
struct  IntegerPointsKdTreeEncoderCompressionPolicy< 8 >
struct  IntegerPointsKdTreeEncoderCompressionPolicy< 10 >
class  IntegerPointsKdTreeEncoder
struct  PointDLess
struct  PointDLess< VectorD< CoeffT, dimension_t > >
class  PointTraits
class  PointTraits< VectorD< CoordinateTypeT, dimension_t > >
struct  QuantizationInfo
class  Queue
class  Stack
class  PriorityQueue
class  PointCloudDecoder
class  PointCloudEncoder
class  PointCloudKdTreeDecoder
class  PointCloudKdTreeEncoder
class  PointCloudKdTreeEncodingTest
class  PointCloudSequentialDecoder
class  PointCloudSequentialEncoder
class  PointCloudSequentialEncodingTest
class  BoundingBox
class  BufferBitCodingTest
class  DracoTimer
struct  DataBufferDescriptor
class  DataBuffer
class  DecoderBuffer
struct  fastdiv_elem
class  IndexType
class  IndexTypeVector
class  CaptureStream
class  EncoderBuffer
struct  HashArray
class  Options
class  Quantizer
class  Dequantizer
class  QuantizationUtilsTest
class  Status
class  StatusOr
class  VectorD
class  CornerTable
class  VertexRingIterator
class  FaceAdjacencyIterator
class  VertexCornersIterator
class  CornerTableTest
class  Mesh
struct  MeshHasher
class  MeshAreEquivalent
class  MeshAreEquivalentTest
class  MeshAttributeCornerTable
struct  MeshCleanupOptions
class  MeshCleanup
class  MeshCleanupTest
class  MeshConnectedComponents
class  MeshStripifier
class  TriangleSoupMeshBuilder
class  TriangleSoupMeshBuilderTest
class  ValenceCache
struct  AttributeMetadataHasher
struct  GeometryMetadataHasher
class  EntryValue
struct  EntryValueHasher
struct  MetadataHasher
class  MetadataDecoder
class  MetadataEncoder
class  PointCloud
struct  PointCloudHasher
class  PointCloudBuilder
class  PointCloudBuilderTest

Typedefs

using AttributeTuple
typedef DracoOptions< GeometryAttribute::Type > DecoderOptions
typedef EncoderOptionsBase< int32_t > EncoderOptions
typedef uint8_t AnsP8
typedef uint64_t TaggedBitLengthFrequencies[kMaxTagSymbolBitLength]
typedef CornerIndex CornerIndex
typedef FaceIndexFaceIndex FaceIndex
typedef VertexIndex VertexIndex
typedef RAnsBitDecoder BinaryDecoder
typedef RAnsBitEncoder BinaryEncoder
typedef Vector3f Point3f
typedef Vector4f Point4f
typedef Vector3ui Point3ui
typedef Vector4ui Point4ui
typedef Vector5ui Point5ui
typedef Vector6ui Point6ui
typedef Vector7ui Point7ui
typedef std::vector< Point3f > PointCloud3f
typedef DracoTimer CycleTimer
typedef VectorD< float, 2 > Vector2f
typedef VectorD< float, 3 > Vector3f
typedef VectorD< float, 4 > Vector4f
typedef VectorD< float, 5 > Vector5f
typedef VectorD< float, 6 > Vector6f
typedef VectorD< float, 7 > Vector7f
typedef VectorD< uint32_t, 2 > Vector2ui
typedef VectorD< uint32_t, 3 > Vector3ui
typedef VectorD< uint32_t, 4 > Vector4ui
typedef VectorD< uint32_t, 5 > Vector5ui
typedef VectorD< uint32_t, 6 > Vector6ui
typedef VectorD< uint32_t, 7 > Vector7ui
template<bool B, class T, class F>
using conditional_t = typename std::conditional<B, T, F>::type

Enumerations

enum  AttributeTransformType { ATTRIBUTE_INVALID_TRANSFORM = -1 , ATTRIBUTE_NO_TRANSFORM = 0 , ATTRIBUTE_QUANTIZATION_TRANSFORM = 1 , ATTRIBUTE_OCTAHEDRON_TRANSFORM = 2 }
enum  KdTreeAttributesEncodingMethod { kKdTreeQuantizationEncoding = 0 , kKdTreeIntegerEncoding }
enum  EncodedGeometryType { INVALID_GEOMETRY_TYPE = -1 , POINT_CLOUD = 0 , TRIANGULAR_MESH , NUM_ENCODED_GEOMETRY_TYPES }
enum  PointCloudEncodingMethod { POINT_CLOUD_SEQUENTIAL_ENCODING = 0 , POINT_CLOUD_KD_TREE_ENCODING }
enum  MeshEncoderMethod { MESH_SEQUENTIAL_ENCODING = 0 , MESH_EDGEBREAKER_ENCODING }
enum  AttributeEncoderType { BASIC_ATTRIBUTE_ENCODER = 0 , MESH_TRAVERSAL_ATTRIBUTE_ENCODER , KD_TREE_ATTRIBUTE_ENCODER }
enum  SequentialAttributeEncoderType { SEQUENTIAL_ATTRIBUTE_ENCODER_GENERIC = 0 , SEQUENTIAL_ATTRIBUTE_ENCODER_INTEGER , SEQUENTIAL_ATTRIBUTE_ENCODER_QUANTIZATION , SEQUENTIAL_ATTRIBUTE_ENCODER_NORMALS }
enum  PredictionSchemeMethod {
  PREDICTION_NONE = -2 , PREDICTION_UNDEFINED = -1 , PREDICTION_DIFFERENCE = 0 , MESH_PREDICTION_PARALLELOGRAM = 1 ,
  MESH_PREDICTION_MULTI_PARALLELOGRAM = 2 , MESH_PREDICTION_TEX_COORDS_DEPRECATED = 3 , MESH_PREDICTION_CONSTRAINED_MULTI_PARALLELOGRAM = 4 , MESH_PREDICTION_TEX_COORDS_PORTABLE = 5 ,
  MESH_PREDICTION_GEOMETRIC_NORMAL = 6 , NUM_PREDICTION_SCHEMES
}
enum  PredictionSchemeTransformType {
  PREDICTION_TRANSFORM_NONE = -1 , PREDICTION_TRANSFORM_DELTA = 0 , PREDICTION_TRANSFORM_WRAP = 1 , PREDICTION_TRANSFORM_NORMAL_OCTAHEDRON = 2 ,
  PREDICTION_TRANSFORM_NORMAL_OCTAHEDRON_CANONICALIZED = 3 , NUM_PREDICTION_SCHEME_TRANSFORM_TYPES
}
enum  MeshTraversalMethod { MESH_TRAVERSAL_DEPTH_FIRST = 0 , MESH_TRAVERSAL_PREDICTION_DEGREE = 1 , NUM_TRAVERSAL_METHODS }
enum  MeshEdgebreakerConnectivityEncodingMethod { MESH_EDGEBREAKER_STANDARD_ENCODING = 0 , MESH_EDGEBREAKER_PREDICTIVE_ENCODING = 1 , MESH_EDGEBREAKER_VALENCE_ENCODING = 2 }
enum  NormalPredictionMode { ONE_TRIANGLE = 0 , TRIANGLE_AREA = 1 }
enum  SymbolCodingMethod { SYMBOL_CODING_TAGGED = 0 , SYMBOL_CODING_RAW = 1 , NUM_SYMBOL_CODING_METHODS }
enum  EdgebreakerTopologyBitPattern {
  TOPOLOGY_C = 0x0 , TOPOLOGY_S = 0x1 , TOPOLOGY_L = 0x3 , TOPOLOGY_R = 0x5 ,
  TOPOLOGY_E = 0x7 , TOPOLOGY_INIT_FACE , TOPOLOGY_INVALID
}
enum  EdgebreakerSymbol {
  EDGEBREAKER_SYMBOL_C = 0 , EDGEBREAKER_SYMBOL_S , EDGEBREAKER_SYMBOL_L , EDGEBREAKER_SYMBOL_R ,
  EDGEBREAKER_SYMBOL_E , EDGEBREAKER_SYMBOL_INVALID
}
enum  EdgeFaceName : uint8_t { LEFT_FACE_EDGE = 0 , RIGHT_FACE_EDGE = 1 }
enum  EdgebreakerValenceCodingMode { EDGEBREAKER_VALENCE_MODE_2_7 = 0 }
enum  PointCloudCompressionMethod { RESERVED_POINT_CLOUD_METHOD_0 = 0 , KDTREE = 1 , RESERVED_POINT_CLOUD_METHOD_2 = 2 , RESERVED_POINT_CLOUD_METHOD_3 = 0 }
enum  DataType {
  DT_INVALID = 0 , DT_INT8 , DT_UINT8 , DT_INT16 ,
  DT_UINT16 , DT_INT32 , DT_UINT32 , DT_INT64 ,
  DT_UINT64 , DT_FLOAT32 , DT_FLOAT64 , DT_BOOL ,
  DT_TYPES_COUNT
}
enum  MeshAttributeElementType { MESH_VERTEX_ATTRIBUTE = 0 , MESH_CORNER_ATTRIBUTE , MESH_FACE_ATTRIBUTE }

Functions

template<typename internal_t>
void swap (draco::PseudoPointD< internal_t > &&a, draco::PseudoPointD< internal_t > &&b) noexcept
template<typename internal_t>
void swap (draco::PseudoPointD< internal_t > &a, draco::PseudoPointD< internal_t > &b) noexcept
 TEST_F (PointDVectorTest, VectorTest)
 TEST_F (PointDVectorTest, PseudoPointDTest)
template<class CornerTableT>
void GetParallelogramEntries (const CornerIndex ci, const CornerTableT *table, const std::vector< int32_t > &vertex_to_data_map, int *opp_entry, int *next_entry, int *prev_entry)
template<class CornerTableT, typename DataTypeT>
bool ComputeParallelogramPrediction (int data_entry_id, const CornerIndex ci, const CornerTableT *table, const std::vector< int32_t > &vertex_to_data_map, const DataTypeT *in_data, int num_components, DataTypeT *out_prediction)
template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeDecoder< DataTypeT, TransformT > > CreatePredictionSchemeForDecoder (PredictionSchemeMethod method, int att_id, const PointCloudDecoder *decoder, const TransformT &transform)
template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeDecoder< DataTypeT, TransformT > > CreatePredictionSchemeForDecoder (PredictionSchemeMethod method, int att_id, const PointCloudDecoder *decoder)
PredictionSchemeMethod SelectPredictionMethod (int att_id, const PointCloudEncoder *encoder)
PredictionSchemeMethod SelectPredictionMethod (int att_id, const EncoderOptions &options, const PointCloudEncoder *encoder)
PredictionSchemeMethod GetPredictionMethodFromOptions (int att_id, const EncoderOptions &options)
template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeEncoder< DataTypeT, TransformT > > CreatePredictionSchemeForEncoder (PredictionSchemeMethod method, int att_id, const PointCloudEncoder *encoder, const TransformT &transform)
template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeEncoder< DataTypeT, TransformT > > CreatePredictionSchemeForEncoder (PredictionSchemeMethod method, int att_id, const PointCloudEncoder *encoder)
template<class EncodingDataSourceT, class PredictionSchemeT, class MeshPredictionSchemeFactoryT>
std::unique_ptr< PredictionSchemeT > CreateMeshPredictionScheme (const EncodingDataSourceT *source, PredictionSchemeMethod method, int att_id, const typename PredictionSchemeT::Transform &transform, uint16_t bitstream_version)
 TEST_F (SequentialIntegerAttributeEncodingTest, DoesCompress)
uint8_t clamp_probability (double p)
double update_probability (double old_p, bool bit)
constexpr int ComputeRAnsUnclampedPrecision (int symbols_bit_length)
constexpr int ComputeRAnsPrecisionFromUniqueSymbolsBitLength (int symbols_bit_length)
int64_t ComputeShannonEntropy (const uint32_t *symbols, int num_symbols, int max_value, int *out_num_unique_symbols)
double ComputeBinaryShannonEntropy (uint32_t num_values, uint32_t num_true_values)
 TEST_F (SymbolCodingTest, TestLargeNumbers)
 TEST_F (SymbolCodingTest, TestManyNumbers)
 TEST_F (SymbolCodingTest, TestEmpty)
 TEST_F (SymbolCodingTest, TestOneSymbol)
 TEST_F (SymbolCodingTest, TestBitLengths)
 TEST_F (SymbolCodingTest, TestLargeNumberCondition)
 TEST_F (SymbolCodingTest, TestConversionFullRange)
template<template< int > class SymbolDecoderT>
bool DecodeTaggedSymbols (uint32_t num_values, int num_components, DecoderBuffer *src_buffer, uint32_t *out_values)
template<template< int > class SymbolDecoderT>
bool DecodeRawSymbols (uint32_t num_values, DecoderBuffer *src_buffer, uint32_t *out_values)
bool DecodeSymbols (uint32_t num_values, int num_components, DecoderBuffer *src_buffer, uint32_t *out_values)
template<class SymbolDecoderT>
bool DecodeRawSymbolsInternal (uint32_t num_values, DecoderBuffer *src_buffer, uint32_t *out_values)
void SetSymbolEncodingMethod (Options *options, SymbolCodingMethod method)
bool SetSymbolEncodingCompressionLevel (Options *options, int compression_level)
template<template< int > class SymbolEncoderT>
bool EncodeTaggedSymbols (const uint32_t *symbols, int num_values, int num_components, const std::vector< uint32_t > &bit_lengths, EncoderBuffer *target_buffer)
template<template< int > class SymbolEncoderT>
bool EncodeRawSymbols (const uint32_t *symbols, int num_values, uint32_t max_entry_value, int32_t num_unique_symbols, const Options *options, EncoderBuffer *target_buffer)
bool EncodeSymbols (const uint32_t *symbols, int num_values, int num_components, const Options *options, EncoderBuffer *target_buffer)
template<class SymbolEncoderT>
bool EncodeRawSymbolsInternal (const uint32_t *symbols, int num_values, uint32_t max_entry_value, EncoderBuffer *target_buffer)
 TEST_F (MeshEdgebreakerEncodingTest, TestNmOBJ)
 TEST_F (MeshEdgebreakerEncodingTest, ThreeFacesOBJ)
 TEST_F (MeshEdgebreakerEncodingTest, TestPly)
 TEST_F (MeshEdgebreakerEncodingTest, TestMultiAttributes)
 TEST_F (MeshEdgebreakerEncodingTest, TestEncoderReuse)
 TEST_F (MeshEdgebreakerEncodingTest, TestDecoderReuse)
 TEST_F (MeshEdgebreakerEncodingTest, TestSingleConnectivityEncoding)
 TEST_F (MeshEdgebreakerEncodingTest, TestWrongAttributeOrder)
 TEST_F (MeshEdgebreakerEncodingTest, TestDegenerateMesh)
 TEST_P (MeshEncoderTest, EncodeGoldenMeshTestNm)
 TEST_P (MeshEncoderTest, EncodeGoldenMeshCubeAtt)
 INSTANTIATE_TEST_SUITE_P (MeshEncoderTests, MeshEncoderTest, ::testing::Values(MeshEncoderTestParams("sequential", 3), MeshEncoderTestParams("edgebreaker", 4), MeshEncoderTestParams("edgebreaker", 10)))
template<class PointIterator, class OutputIterator>
OutputIterator QuantizePoints3 (const PointIterator &begin, const PointIterator &end, QuantizationInfo *info, OutputIterator oit)
template<class QPointIterator, class OutputIterator>
void DequantizePoints3 (const QPointIterator &begin, const QPointIterator &end, const QuantizationInfo &info, OutputIterator &oit)
 TEST_F (PointCloudKdTreeEncodingTest, TestFloatKdTreeEncoding)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncoding)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingHigherDimension)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingHigherDimensionVariedTypes)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncoding16Bit)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingHigherDimensionVariedTypesBig16BitEncoding)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingHigherDimensionFloatTypes)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingSignedTypes)
 TEST_F (PointCloudKdTreeEncodingTest, TestIntKdTreeEncodingHighDimensional)
 TEST_F (PointCloudSequentialEncodingTest, DoesEncodeAndDecode)
 TEST_F (PointCloudSequentialEncodingTest, EncodingPointCloudWithMetadata)
void ConvertSignedIntsToSymbols (const int32_t *in, int in_values, uint32_t *out)
void ConvertSymbolsToSignedInts (const uint32_t *in, int in_values, int32_t *out)
int CountOneBits32 (uint32_t n)
uint32_t ReverseBits32 (uint32_t n)
void CopyBits32 (uint32_t *dst, int dst_offset, uint32_t src, int src_offset, int nbits)
int MostSignificantBit (uint32_t n)
template<class IntTypeT>
std::make_unsigned< IntTypeT >::type ConvertSignedIntToSymbol (IntTypeT val)
template<class IntTypeT>
std::make_signed< IntTypeT >::type ConvertSymbolToSignedInt (IntTypeT val)
 TEST_F (BufferBitCodingTest, TestBitCodersByteAligned)
 TEST_F (BufferBitCodingTest, TestBitCodersNonByte)
 TEST_F (BufferBitCodingTest, TestSingleBits)
 TEST_F (BufferBitCodingTest, TestMultipleBits)
template<class ValueTypeT, class TagT>
std::ostream & operator<< (std::ostream &os, IndexType< ValueTypeT, TagT > index)
std::string GetTestTempDir ()
std::string GetTestFileFullPath (const std::string &file_name)
std::string GetTestTempFileFullPath (const std::string &file_name)
bool GenerateGoldenFile (const std::string &golden_file_name, const void *data, int data_size)
bool CompareGoldenFile (const std::string &golden_file_name, const void *data, int data_size)
std::unique_ptr< Mesh > ReadMeshFromTestFile (const std::string &file_name)
std::unique_ptr< Mesh > ReadMeshFromTestFile (const std::string &file_name, bool use_metadata)
std::unique_ptr< Mesh > ReadMeshFromTestFile (const std::string &file_name, const Options &options)
std::unique_ptr< PointCloud > ReadPointCloudFromTestFile (const std::string &file_name)
int32_t DataTypeLength (DataTypeDataType dt)
bool IsDataTypeIntegral (DataTypeDataType dt)
uint64_t FingerprintString (const char *s, size_t len)
template<typename T1, typename T2>
size_t HashCombine (T1 a, T2 b)
template<typename T>
size_t HashCombine (T a, size_t hash)
uint64_t HashCombine (uint64_t a, uint64_t b)
uint64_t IntSqrt (uint64_t number)
template<typename DataTypeT, typename std::enable_if< std::is_integral< DataTypeT >::value &&std::is_signed< DataTypeT >::value >::type * = nullptr>
DataTypeT AddAsUnsigned (DataTypeT a, DataTypeT b)
 TEST (MathUtils, Mod)
 TEST (MathUtils, IntSqrt)
 TEST_F (QuantizationUtilsTest, TestQuantizer)
 TEST_F (QuantizationUtilsTest, TestDequantizer)
 TEST_F (QuantizationUtilsTest, TestDeltaQuantization)
std::ostream & operator<< (std::ostream &os, const Status &status)
Status OkStatus ()
Status ErrorStatus (const std::string &msg)
template<typename IntTypeT>
bool DecodeVarint (IntTypeT *out_val, DecoderBuffer *buffer)
template<typename IntTypeT>
bool EncodeVarint (IntTypeT val, EncoderBuffer *out_buffer)
template<class ScalarT, int dimension_t>
VectorD< ScalarT, dimension_t > operator* (const ScalarT &o, const VectorD< ScalarT, dimension_t > &v)
template<class ScalarT, int dimension_t>
ScalarT SquaredDistance (const VectorD< ScalarT, dimension_t > &v1, const VectorD< ScalarT, dimension_t > &v2)
template<class ScalarT>
VectorD< ScalarT, 3 > CrossProduct (const VectorD< ScalarT, 3 > &u, const VectorD< ScalarT, 3 > &v)
template<class ScalarT, int dimension_t>
std::ostream & operator<< (std::ostream &out, const draco::VectorD< ScalarT, dimension_t > &vec)
 TEST_F (CornerTableTest, NormalWithSeams)
 TEST_F (CornerTableTest, TestNonManifoldEdges)
 TEST_F (CornerTableTest, TestNewFace)
 TEST_F (MeshAreEquivalentTest, TestOnIndenticalMesh)
 TEST_F (MeshAreEquivalentTest, TestPermutedOneFace)
 TEST_F (MeshAreEquivalentTest, TestPermutedTwoFaces)
 TEST_F (MeshAreEquivalentTest, TestPermutedThreeFaces)
 TEST_F (MeshAreEquivalentTest, TestOnBigMesh)
 TEST_F (MeshCleanupTest, TestDegneratedFaces)
 TEST_F (MeshCleanupTest, TestDegneratedFacesAndIsolatedVertices)
 TEST_F (MeshCleanupTest, TestAttributes)
 TEST_F (MeshCleanupTest, TestDuplicateFaces)
std::unique_ptr< CornerTable > CreateCornerTableFromPositionAttribute (const Mesh *mesh)
std::unique_ptr< CornerTable > CreateCornerTableFromAttribute (const Mesh *mesh, GeometryAttribute::Type type)
std::unique_ptr< CornerTable > CreateCornerTableFromAllAttributes (const Mesh *mesh)
bool IsCornerOppositeToAttributeSeam (CornerIndex ci, const PointAttribute &att, const Mesh &mesh, const CornerTable &ct)
template<typename InterpolatedVectorT>
InterpolatedVectorT ComputeInterpolatedAttributeValueOnMeshFace (const Mesh &mesh, const PointAttribute &attribute, FaceIndexFaceIndex fi, const std::array< float, 3 > &barycentric_coord)
 TEST_F (TriangleSoupMeshBuilderTest, CubeTest)
 TEST_F (TriangleSoupMeshBuilderTest, TestPerFaceAttribs)
 TEST_F (PointCloudBuilderTest, IndividualTest_NoDedup)
 TEST_F (PointCloudBuilderTest, IndividualTest_Dedup)
 TEST_F (PointCloudBuilderTest, BatchTest)
 TEST_F (PointCloudBuilderTest, MultiUse)

Variables

constexpr int32_t kMaxTagSymbolBitLength = 32
constexpr int kMaxRawEncodingBitLength = 18
constexpr int kDefaultSymbolCodingCompressionLevel = 7
constexpr int32_t edge_breaker_topology_bit_pattern_length []
constexpr EdgebreakerSymbol edge_breaker_topology_to_symbol_id []
constexpr EdgebreakerTopologyBitPattern edge_breaker_symbol_to_topology_id []
const struct fastdiv_elem vp10_fastdiv_tab [256]

Typedef Documentation

◆ AnsP8

typedef uint8_t draco::AnsP8

◆ AttributeTuple

Initial value:
std::tuple<PointAttribute *, uint32_t, DataType, uint32_t, uint32_t>

◆ BinaryDecoder

◆ BinaryEncoder

◆ conditional_t

template<bool B, class T, class F>
using draco::conditional_t = typename std::conditional<B, T, F>::type

◆ CornerIndex

◆ CycleTimer

◆ DecoderOptions

◆ EncoderOptions

◆ FaceIndex

◆ Point3f

◆ Point3ui

◆ Point4f

◆ Point4ui

◆ Point5ui

◆ Point6ui

◆ Point7ui

◆ PointCloud3f

typedef std::vector<Point3f> draco::PointCloud3f

◆ TaggedBitLengthFrequencies

typedef uint64_t draco::TaggedBitLengthFrequencies[kMaxTagSymbolBitLength]

◆ Vector2f

typedef VectorD<float, 2> draco::Vector2f

◆ Vector2ui

typedef VectorD<uint32_t, 2> draco::Vector2ui

◆ Vector3f

typedef VectorD<float, 3> draco::Vector3f

◆ Vector3ui

typedef VectorD<uint32_t, 3> draco::Vector3ui

◆ Vector4f

typedef VectorD<float, 4> draco::Vector4f

◆ Vector4ui

typedef VectorD<uint32_t, 4> draco::Vector4ui

◆ Vector5f

typedef VectorD<float, 5> draco::Vector5f

◆ Vector5ui

typedef VectorD<uint32_t, 5> draco::Vector5ui

◆ Vector6f

typedef VectorD<float, 6> draco::Vector6f

◆ Vector6ui

typedef VectorD<uint32_t, 6> draco::Vector6ui

◆ Vector7f

typedef VectorD<float, 7> draco::Vector7f

◆ Vector7ui

typedef VectorD<uint32_t, 7> draco::Vector7ui

◆ VertexIndex

Enumeration Type Documentation

◆ AttributeEncoderType

Enumerator
BASIC_ATTRIBUTE_ENCODER 
MESH_TRAVERSAL_ATTRIBUTE_ENCODER 
KD_TREE_ATTRIBUTE_ENCODER 

◆ AttributeTransformType

Enumerator
ATTRIBUTE_INVALID_TRANSFORM 
ATTRIBUTE_NO_TRANSFORM 
ATTRIBUTE_QUANTIZATION_TRANSFORM 
ATTRIBUTE_OCTAHEDRON_TRANSFORM 

◆ DataType

Enumerator
DT_INVALID 
DT_INT8 
DT_UINT8 
DT_INT16 
DT_UINT16 
DT_INT32 
DT_UINT32 
DT_INT64 
DT_UINT64 
DT_FLOAT32 
DT_FLOAT64 
DT_BOOL 
DT_TYPES_COUNT 

◆ EdgebreakerSymbol

Enumerator
EDGEBREAKER_SYMBOL_C 
EDGEBREAKER_SYMBOL_S 
EDGEBREAKER_SYMBOL_L 
EDGEBREAKER_SYMBOL_R 
EDGEBREAKER_SYMBOL_E 
EDGEBREAKER_SYMBOL_INVALID 

◆ EdgebreakerTopologyBitPattern

Enumerator
TOPOLOGY_C 
TOPOLOGY_S 
TOPOLOGY_L 
TOPOLOGY_R 
TOPOLOGY_E 
TOPOLOGY_INIT_FACE 
TOPOLOGY_INVALID 

◆ EdgebreakerValenceCodingMode

Enumerator
EDGEBREAKER_VALENCE_MODE_2_7 

◆ EdgeFaceName

enum draco::EdgeFaceName : uint8_t
Enumerator
LEFT_FACE_EDGE 
RIGHT_FACE_EDGE 

◆ EncodedGeometryType

Enumerator
INVALID_GEOMETRY_TYPE 
POINT_CLOUD 
TRIANGULAR_MESH 
NUM_ENCODED_GEOMETRY_TYPES 

◆ KdTreeAttributesEncodingMethod

Enumerator
kKdTreeQuantizationEncoding 
kKdTreeIntegerEncoding 

◆ MeshAttributeElementType

Enumerator
MESH_VERTEX_ATTRIBUTE 
MESH_CORNER_ATTRIBUTE 
MESH_FACE_ATTRIBUTE 

◆ MeshEdgebreakerConnectivityEncodingMethod

Enumerator
MESH_EDGEBREAKER_STANDARD_ENCODING 
MESH_EDGEBREAKER_PREDICTIVE_ENCODING 
MESH_EDGEBREAKER_VALENCE_ENCODING 

◆ MeshEncoderMethod

Enumerator
MESH_SEQUENTIAL_ENCODING 
MESH_EDGEBREAKER_ENCODING 

◆ MeshTraversalMethod

Enumerator
MESH_TRAVERSAL_DEPTH_FIRST 
MESH_TRAVERSAL_PREDICTION_DEGREE 
NUM_TRAVERSAL_METHODS 

◆ NormalPredictionMode

Enumerator
ONE_TRIANGLE 
TRIANGLE_AREA 

◆ PointCloudCompressionMethod

Enumerator
RESERVED_POINT_CLOUD_METHOD_0 
KDTREE 
RESERVED_POINT_CLOUD_METHOD_2 
RESERVED_POINT_CLOUD_METHOD_3 

◆ PointCloudEncodingMethod

Enumerator
POINT_CLOUD_SEQUENTIAL_ENCODING 
POINT_CLOUD_KD_TREE_ENCODING 

◆ PredictionSchemeMethod

Enumerator
PREDICTION_NONE 
PREDICTION_UNDEFINED 
PREDICTION_DIFFERENCE 
MESH_PREDICTION_PARALLELOGRAM 
MESH_PREDICTION_MULTI_PARALLELOGRAM 
MESH_PREDICTION_TEX_COORDS_DEPRECATED 
MESH_PREDICTION_CONSTRAINED_MULTI_PARALLELOGRAM 
MESH_PREDICTION_TEX_COORDS_PORTABLE 
MESH_PREDICTION_GEOMETRIC_NORMAL 
NUM_PREDICTION_SCHEMES 

◆ PredictionSchemeTransformType

Enumerator
PREDICTION_TRANSFORM_NONE 
PREDICTION_TRANSFORM_DELTA 
PREDICTION_TRANSFORM_WRAP 
PREDICTION_TRANSFORM_NORMAL_OCTAHEDRON 
PREDICTION_TRANSFORM_NORMAL_OCTAHEDRON_CANONICALIZED 
NUM_PREDICTION_SCHEME_TRANSFORM_TYPES 

◆ SequentialAttributeEncoderType

Enumerator
SEQUENTIAL_ATTRIBUTE_ENCODER_GENERIC 
SEQUENTIAL_ATTRIBUTE_ENCODER_INTEGER 
SEQUENTIAL_ATTRIBUTE_ENCODER_QUANTIZATION 
SEQUENTIAL_ATTRIBUTE_ENCODER_NORMALS 

◆ SymbolCodingMethod

Enumerator
SYMBOL_CODING_TAGGED 
SYMBOL_CODING_RAW 
NUM_SYMBOL_CODING_METHODS 

Function Documentation

◆ AddAsUnsigned()

template<typename DataTypeT, typename std::enable_if< std::is_integral< DataTypeT >::value &&std::is_signed< DataTypeT >::value >::type * = nullptr>
DataTypeT draco::AddAsUnsigned ( DataTypeT a,
DataTypeT b )
inline
Here is the caller graph for this function:

◆ clamp_probability()

uint8_t draco::clamp_probability ( double p)
inline
Here is the caller graph for this function:

◆ CompareGoldenFile()

bool draco::CompareGoldenFile ( const std::string & golden_file_name,
const void * data,
int data_size )
Here is the caller graph for this function:

◆ ComputeBinaryShannonEntropy()

double draco::ComputeBinaryShannonEntropy ( uint32_t num_values,
uint32_t num_true_values )

◆ ComputeInterpolatedAttributeValueOnMeshFace()

template<typename InterpolatedVectorT>
InterpolatedVectorT draco::ComputeInterpolatedAttributeValueOnMeshFace ( const Mesh & mesh,
const PointAttribute & attribute,
FaceIndexFaceIndex fi,
const std::array< float, 3 > & barycentric_coord )

◆ ComputeParallelogramPrediction()

template<class CornerTableT, typename DataTypeT>
bool draco::ComputeParallelogramPrediction ( int data_entry_id,
const CornerIndex ci,
const CornerTableT * table,
const std::vector< int32_t > & vertex_to_data_map,
const DataTypeT * in_data,
int num_components,
DataTypeT * out_prediction )
inline
Here is the caller graph for this function:

◆ ComputeRAnsPrecisionFromUniqueSymbolsBitLength()

int draco::ComputeRAnsPrecisionFromUniqueSymbolsBitLength ( int symbols_bit_length)
constexpr

◆ ComputeRAnsUnclampedPrecision()

int draco::ComputeRAnsUnclampedPrecision ( int symbols_bit_length)
constexpr
Here is the caller graph for this function:

◆ ComputeShannonEntropy()

int64_t draco::ComputeShannonEntropy ( const uint32_t * symbols,
int num_symbols,
int max_value,
int * out_num_unique_symbols )

◆ ConvertSignedIntsToSymbols()

void draco::ConvertSignedIntsToSymbols ( const int32_t * in,
int in_values,
uint32_t * out )
Here is the caller graph for this function:

◆ ConvertSignedIntToSymbol()

template<class IntTypeT>
std::make_unsigned< IntTypeT >::type draco::ConvertSignedIntToSymbol ( IntTypeT val)
Here is the caller graph for this function:

◆ ConvertSymbolsToSignedInts()

void draco::ConvertSymbolsToSignedInts ( const uint32_t * in,
int in_values,
int32_t * out )
Here is the caller graph for this function:

◆ ConvertSymbolToSignedInt()

template<class IntTypeT>
std::make_signed< IntTypeT >::type draco::ConvertSymbolToSignedInt ( IntTypeT val)
Here is the caller graph for this function:

◆ CopyBits32()

void draco::CopyBits32 ( uint32_t * dst,
int dst_offset,
uint32_t src,
int src_offset,
int nbits )
inline
Here is the caller graph for this function:

◆ CountOneBits32()

int draco::CountOneBits32 ( uint32_t n)
inline
Here is the caller graph for this function:

◆ CreateCornerTableFromAllAttributes()

std::unique_ptr< CornerTable > draco::CreateCornerTableFromAllAttributes ( const Mesh * mesh)
Here is the caller graph for this function:

◆ CreateCornerTableFromAttribute()

std::unique_ptr< CornerTable > draco::CreateCornerTableFromAttribute ( const Mesh * mesh,
GeometryAttribute::Type type )
Here is the caller graph for this function:

◆ CreateCornerTableFromPositionAttribute()

std::unique_ptr< CornerTable > draco::CreateCornerTableFromPositionAttribute ( const Mesh * mesh)
Here is the caller graph for this function:

◆ CreateMeshPredictionScheme()

template<class EncodingDataSourceT, class PredictionSchemeT, class MeshPredictionSchemeFactoryT>
std::unique_ptr< PredictionSchemeT > draco::CreateMeshPredictionScheme ( const EncodingDataSourceT * source,
PredictionSchemeMethod method,
int att_id,
const typename PredictionSchemeT::Transform & transform,
uint16_t bitstream_version )
Here is the caller graph for this function:

◆ CreatePredictionSchemeForDecoder() [1/2]

template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeDecoder< DataTypeT, TransformT > > draco::CreatePredictionSchemeForDecoder ( PredictionSchemeMethod method,
int att_id,
const PointCloudDecoder * decoder )

◆ CreatePredictionSchemeForDecoder() [2/2]

template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeDecoder< DataTypeT, TransformT > > draco::CreatePredictionSchemeForDecoder ( PredictionSchemeMethod method,
int att_id,
const PointCloudDecoder * decoder,
const TransformT & transform )
Here is the caller graph for this function:

◆ CreatePredictionSchemeForEncoder() [1/2]

template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeEncoder< DataTypeT, TransformT > > draco::CreatePredictionSchemeForEncoder ( PredictionSchemeMethod method,
int att_id,
const PointCloudEncoder * encoder )

◆ CreatePredictionSchemeForEncoder() [2/2]

template<typename DataTypeT, class TransformT>
std::unique_ptr< PredictionSchemeEncoder< DataTypeT, TransformT > > draco::CreatePredictionSchemeForEncoder ( PredictionSchemeMethod method,
int att_id,
const PointCloudEncoder * encoder,
const TransformT & transform )
Here is the caller graph for this function:

◆ CrossProduct()

template<class ScalarT>
VectorD< ScalarT, 3 > draco::CrossProduct ( const VectorD< ScalarT, 3 > & u,
const VectorD< ScalarT, 3 > & v )
Here is the caller graph for this function:

◆ DataTypeLength()

int32_t draco::DataTypeLength ( DataTypeDataType dt)
Here is the caller graph for this function:

◆ DecodeRawSymbols()

template<template< int > class SymbolDecoderT>
bool draco::DecodeRawSymbols ( uint32_t num_values,
DecoderBuffer * src_buffer,
uint32_t * out_values )
Here is the caller graph for this function:

◆ DecodeRawSymbolsInternal()

template<class SymbolDecoderT>
bool draco::DecodeRawSymbolsInternal ( uint32_t num_values,
DecoderBuffer * src_buffer,
uint32_t * out_values )
Here is the caller graph for this function:

◆ DecodeSymbols()

bool draco::DecodeSymbols ( uint32_t num_values,
int num_components,
DecoderBuffer * src_buffer,
uint32_t * out_values )
Here is the caller graph for this function:

◆ DecodeTaggedSymbols()

template<template< int > class SymbolDecoderT>
bool draco::DecodeTaggedSymbols ( uint32_t num_values,
int num_components,
DecoderBuffer * src_buffer,
uint32_t * out_values )
Here is the caller graph for this function:

◆ DecodeVarint()

template<typename IntTypeT>
bool draco::DecodeVarint ( IntTypeT * out_val,
DecoderBuffer * buffer )
Here is the caller graph for this function:

◆ DequantizePoints3()

template<class QPointIterator, class OutputIterator>
void draco::DequantizePoints3 ( const QPointIterator & begin,
const QPointIterator & end,
const QuantizationInfo & info,
OutputIterator & oit )
Here is the caller graph for this function:

◆ EncodeRawSymbols()

template<template< int > class SymbolEncoderT>
bool draco::EncodeRawSymbols ( const uint32_t * symbols,
int num_values,
uint32_t max_entry_value,
int32_t num_unique_symbols,
const Options * options,
EncoderBuffer * target_buffer )
Here is the caller graph for this function:

◆ EncodeRawSymbolsInternal()

template<class SymbolEncoderT>
bool draco::EncodeRawSymbolsInternal ( const uint32_t * symbols,
int num_values,
uint32_t max_entry_value,
EncoderBuffer * target_buffer )
Here is the caller graph for this function:

◆ EncodeSymbols()

bool draco::EncodeSymbols ( const uint32_t * symbols,
int num_values,
int num_components,
const Options * options,
EncoderBuffer * target_buffer )
Here is the caller graph for this function:

◆ EncodeTaggedSymbols()

template<template< int > class SymbolEncoderT>
bool draco::EncodeTaggedSymbols ( const uint32_t * symbols,
int num_values,
int num_components,
const std::vector< uint32_t > & bit_lengths,
EncoderBuffer * target_buffer )
Here is the caller graph for this function:

◆ EncodeVarint()

template<typename IntTypeT>
bool draco::EncodeVarint ( IntTypeT val,
EncoderBuffer * out_buffer )
Here is the caller graph for this function:

◆ ErrorStatus()

Status draco::ErrorStatus ( const std::string & msg)
inline

◆ FingerprintString()

uint64_t draco::FingerprintString ( const char * s,
size_t len )
Here is the caller graph for this function:

◆ GenerateGoldenFile()

bool draco::GenerateGoldenFile ( const std::string & golden_file_name,
const void * data,
int data_size )
Here is the caller graph for this function:

◆ GetParallelogramEntries()

template<class CornerTableT>
void draco::GetParallelogramEntries ( const CornerIndex ci,
const CornerTableT * table,
const std::vector< int32_t > & vertex_to_data_map,
int * opp_entry,
int * next_entry,
int * prev_entry )
inline
Here is the caller graph for this function:

◆ GetPredictionMethodFromOptions()

PredictionSchemeMethod draco::GetPredictionMethodFromOptions ( int att_id,
const EncoderOptions & options )
Here is the caller graph for this function:

◆ GetTestFileFullPath()

std::string draco::GetTestFileFullPath ( const std::string & file_name)
Here is the caller graph for this function:

◆ GetTestTempDir()

std::string draco::GetTestTempDir ( )

◆ GetTestTempFileFullPath()

std::string draco::GetTestTempFileFullPath ( const std::string & file_name)

◆ HashCombine() [1/3]

template<typename T>
size_t draco::HashCombine ( T a,
size_t hash )

◆ HashCombine() [2/3]

template<typename T1, typename T2>
size_t draco::HashCombine ( T1 a,
T2 b )
Here is the caller graph for this function:

◆ HashCombine() [3/3]

uint64_t draco::HashCombine ( uint64_t a,
uint64_t b )
inline

◆ INSTANTIATE_TEST_SUITE_P()

draco::INSTANTIATE_TEST_SUITE_P ( MeshEncoderTests ,
MeshEncoderTest ,
::testing::Values(MeshEncoderTestParams("sequential", 3), MeshEncoderTestParams("edgebreaker", 4), MeshEncoderTestParams("edgebreaker", 10))  )

◆ IntSqrt()

uint64_t draco::IntSqrt ( uint64_t number)
inline
Here is the caller graph for this function:

◆ IsCornerOppositeToAttributeSeam()

bool draco::IsCornerOppositeToAttributeSeam ( CornerIndex ci,
const PointAttribute & att,
const Mesh & mesh,
const CornerTable & ct )
inline

◆ IsDataTypeIntegral()

bool draco::IsDataTypeIntegral ( DataTypeDataType dt)
Here is the caller graph for this function:

◆ MostSignificantBit()

int draco::MostSignificantBit ( uint32_t n)
inline
Here is the caller graph for this function:

◆ OkStatus()

Status draco::OkStatus ( )
inline
Here is the caller graph for this function:

◆ operator*()

template<class ScalarT, int dimension_t>
VectorD< ScalarT, dimension_t > draco::operator* ( const ScalarT & o,
const VectorD< ScalarT, dimension_t > & v )

◆ operator<<() [1/3]

std::ostream & draco::operator<< ( std::ostream & os,
const Status & status )
inline

◆ operator<<() [2/3]

template<class ValueTypeT, class TagT>
std::ostream & draco::operator<< ( std::ostream & os,
IndexType< ValueTypeT, TagT > index )

◆ operator<<() [3/3]

template<class ScalarT, int dimension_t>
std::ostream & draco::operator<< ( std::ostream & out,
const draco::VectorD< ScalarT, dimension_t > & vec )
inline

◆ QuantizePoints3()

template<class PointIterator, class OutputIterator>
OutputIterator draco::QuantizePoints3 ( const PointIterator & begin,
const PointIterator & end,
QuantizationInfo * info,
OutputIterator oit )
Here is the caller graph for this function:

◆ ReadMeshFromTestFile() [1/3]

std::unique_ptr< Mesh > draco::ReadMeshFromTestFile ( const std::string & file_name)
inline
Here is the caller graph for this function:

◆ ReadMeshFromTestFile() [2/3]

std::unique_ptr< Mesh > draco::ReadMeshFromTestFile ( const std::string & file_name,
bool use_metadata )
inline

◆ ReadMeshFromTestFile() [3/3]

std::unique_ptr< Mesh > draco::ReadMeshFromTestFile ( const std::string & file_name,
const Options & options )
inline

◆ ReadPointCloudFromTestFile()

std::unique_ptr< PointCloud > draco::ReadPointCloudFromTestFile ( const std::string & file_name)
inline
Here is the caller graph for this function:

◆ ReverseBits32()

uint32_t draco::ReverseBits32 ( uint32_t n)
inline
Here is the caller graph for this function:

◆ SelectPredictionMethod() [1/2]

PredictionSchemeMethod draco::SelectPredictionMethod ( int att_id,
const EncoderOptions & options,
const PointCloudEncoder * encoder )

◆ SelectPredictionMethod() [2/2]

PredictionSchemeMethod draco::SelectPredictionMethod ( int att_id,
const PointCloudEncoder * encoder )
Here is the caller graph for this function:

◆ SetSymbolEncodingCompressionLevel()

bool draco::SetSymbolEncodingCompressionLevel ( Options * options,
int compression_level )
Here is the caller graph for this function:

◆ SetSymbolEncodingMethod()

void draco::SetSymbolEncodingMethod ( Options * options,
SymbolCodingMethod method )
Here is the caller graph for this function:

◆ SquaredDistance()

template<class ScalarT, int dimension_t>
ScalarT draco::SquaredDistance ( const VectorD< ScalarT, dimension_t > & v1,
const VectorD< ScalarT, dimension_t > & v2 )

◆ swap() [1/2]

template<typename internal_t>
void draco::swap ( draco::PseudoPointD< internal_t > && a,
draco::PseudoPointD< internal_t > && b )
noexcept
Here is the caller graph for this function:

◆ swap() [2/2]

template<typename internal_t>
void draco::swap ( draco::PseudoPointD< internal_t > & a,
draco::PseudoPointD< internal_t > & b )
noexcept

◆ TEST() [1/2]

draco::TEST ( MathUtils ,
IntSqrt  )

◆ TEST() [2/2]

draco::TEST ( MathUtils ,
Mod  )

◆ TEST_F() [1/55]

draco::TEST_F ( BufferBitCodingTest ,
TestBitCodersByteAligned  )

◆ TEST_F() [2/55]

draco::TEST_F ( BufferBitCodingTest ,
TestBitCodersNonByte  )

◆ TEST_F() [3/55]

draco::TEST_F ( BufferBitCodingTest ,
TestMultipleBits  )

◆ TEST_F() [4/55]

draco::TEST_F ( BufferBitCodingTest ,
TestSingleBits  )

◆ TEST_F() [5/55]

draco::TEST_F ( CornerTableTest ,
NormalWithSeams  )

◆ TEST_F() [6/55]

draco::TEST_F ( CornerTableTest ,
TestNewFace  )

◆ TEST_F() [7/55]

draco::TEST_F ( CornerTableTest ,
TestNonManifoldEdges  )

◆ TEST_F() [8/55]

draco::TEST_F ( MeshAreEquivalentTest ,
TestOnBigMesh  )

◆ TEST_F() [9/55]

draco::TEST_F ( MeshAreEquivalentTest ,
TestOnIndenticalMesh  )

◆ TEST_F() [10/55]

draco::TEST_F ( MeshAreEquivalentTest ,
TestPermutedOneFace  )

◆ TEST_F() [11/55]

draco::TEST_F ( MeshAreEquivalentTest ,
TestPermutedThreeFaces  )

◆ TEST_F() [12/55]

draco::TEST_F ( MeshAreEquivalentTest ,
TestPermutedTwoFaces  )

◆ TEST_F() [13/55]

draco::TEST_F ( MeshCleanupTest ,
TestAttributes  )

◆ TEST_F() [14/55]

draco::TEST_F ( MeshCleanupTest ,
TestDegneratedFaces  )

◆ TEST_F() [15/55]

draco::TEST_F ( MeshCleanupTest ,
TestDegneratedFacesAndIsolatedVertices  )

◆ TEST_F() [16/55]

draco::TEST_F ( MeshCleanupTest ,
TestDuplicateFaces  )

◆ TEST_F() [17/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestDecoderReuse  )

◆ TEST_F() [18/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestDegenerateMesh  )

◆ TEST_F() [19/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestEncoderReuse  )

◆ TEST_F() [20/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestMultiAttributes  )

◆ TEST_F() [21/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestNmOBJ  )

◆ TEST_F() [22/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestPly  )

◆ TEST_F() [23/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestSingleConnectivityEncoding  )

◆ TEST_F() [24/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
TestWrongAttributeOrder  )

◆ TEST_F() [25/55]

draco::TEST_F ( MeshEdgebreakerEncodingTest ,
ThreeFacesOBJ  )

◆ TEST_F() [26/55]

draco::TEST_F ( PointCloudBuilderTest ,
BatchTest  )

◆ TEST_F() [27/55]

draco::TEST_F ( PointCloudBuilderTest ,
IndividualTest_Dedup  )

◆ TEST_F() [28/55]

draco::TEST_F ( PointCloudBuilderTest ,
IndividualTest_NoDedup  )

◆ TEST_F() [29/55]

draco::TEST_F ( PointCloudBuilderTest ,
MultiUse  )

◆ TEST_F() [30/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestFloatKdTreeEncoding  )

◆ TEST_F() [31/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncoding  )

◆ TEST_F() [32/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncoding16Bit  )

◆ TEST_F() [33/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncodingHighDimensional  )

◆ TEST_F() [34/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncodingHigherDimension  )

◆ TEST_F() [35/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncodingHigherDimensionFloatTypes  )

◆ TEST_F() [36/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncodingHigherDimensionVariedTypes  )

◆ TEST_F() [37/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncodingHigherDimensionVariedTypesBig16BitEncoding  )

◆ TEST_F() [38/55]

draco::TEST_F ( PointCloudKdTreeEncodingTest ,
TestIntKdTreeEncodingSignedTypes  )

◆ TEST_F() [39/55]

draco::TEST_F ( PointCloudSequentialEncodingTest ,
DoesEncodeAndDecode  )

◆ TEST_F() [40/55]

draco::TEST_F ( PointCloudSequentialEncodingTest ,
EncodingPointCloudWithMetadata  )

◆ TEST_F() [41/55]

draco::TEST_F ( PointDVectorTest ,
PseudoPointDTest  )

◆ TEST_F() [42/55]

draco::TEST_F ( PointDVectorTest ,
VectorTest  )

◆ TEST_F() [43/55]

draco::TEST_F ( QuantizationUtilsTest ,
TestDeltaQuantization  )

◆ TEST_F() [44/55]

draco::TEST_F ( QuantizationUtilsTest ,
TestDequantizer  )

◆ TEST_F() [45/55]

draco::TEST_F ( QuantizationUtilsTest ,
TestQuantizer  )

◆ TEST_F() [46/55]

draco::TEST_F ( SequentialIntegerAttributeEncodingTest ,
DoesCompress  )

◆ TEST_F() [47/55]

draco::TEST_F ( SymbolCodingTest ,
TestBitLengths  )

◆ TEST_F() [48/55]

draco::TEST_F ( SymbolCodingTest ,
TestConversionFullRange  )

◆ TEST_F() [49/55]

draco::TEST_F ( SymbolCodingTest ,
TestEmpty  )

◆ TEST_F() [50/55]

draco::TEST_F ( SymbolCodingTest ,
TestLargeNumberCondition  )

◆ TEST_F() [51/55]

draco::TEST_F ( SymbolCodingTest ,
TestLargeNumbers  )

◆ TEST_F() [52/55]

draco::TEST_F ( SymbolCodingTest ,
TestManyNumbers  )

◆ TEST_F() [53/55]

draco::TEST_F ( SymbolCodingTest ,
TestOneSymbol  )

◆ TEST_F() [54/55]

draco::TEST_F ( TriangleSoupMeshBuilderTest ,
CubeTest  )

◆ TEST_F() [55/55]

draco::TEST_F ( TriangleSoupMeshBuilderTest ,
TestPerFaceAttribs  )

◆ TEST_P() [1/2]

draco::TEST_P ( MeshEncoderTest ,
EncodeGoldenMeshCubeAtt  )

◆ TEST_P() [2/2]

draco::TEST_P ( MeshEncoderTest ,
EncodeGoldenMeshTestNm  )

◆ update_probability()

double draco::update_probability ( double old_p,
bool bit )
inline
Here is the caller graph for this function:

Variable Documentation

◆ edge_breaker_symbol_to_topology_id

EdgebreakerTopologyBitPattern draco::edge_breaker_symbol_to_topology_id[]
constexpr
Initial value:
= {
@ TOPOLOGY_R
Definition mesh_edgebreaker_shared.h:57
@ TOPOLOGY_S
Definition mesh_edgebreaker_shared.h:55
@ TOPOLOGY_L
Definition mesh_edgebreaker_shared.h:56
@ TOPOLOGY_E
Definition mesh_edgebreaker_shared.h:58
@ TOPOLOGY_C
Definition mesh_edgebreaker_shared.h:54

◆ edge_breaker_topology_bit_pattern_length

int32_t draco::edge_breaker_topology_bit_pattern_length[]
constexpr
Initial value:
= {1, 3, 0, 3,
0, 3, 0, 3}

◆ edge_breaker_topology_to_symbol_id

EdgebreakerSymbol draco::edge_breaker_topology_to_symbol_id[]
constexpr
Initial value:
= {
@ EDGEBREAKER_SYMBOL_E
Definition mesh_edgebreaker_shared.h:72
@ EDGEBREAKER_SYMBOL_R
Definition mesh_edgebreaker_shared.h:71
@ EDGEBREAKER_SYMBOL_S
Definition mesh_edgebreaker_shared.h:69
@ EDGEBREAKER_SYMBOL_INVALID
Definition mesh_edgebreaker_shared.h:73
@ EDGEBREAKER_SYMBOL_L
Definition mesh_edgebreaker_shared.h:70
@ EDGEBREAKER_SYMBOL_C
Definition mesh_edgebreaker_shared.h:68

◆ kDefaultSymbolCodingCompressionLevel

int draco::kDefaultSymbolCodingCompressionLevel = 7
constexpr

◆ kMaxRawEncodingBitLength

int draco::kMaxRawEncodingBitLength = 18
constexpr

◆ kMaxTagSymbolBitLength

int32_t draco::kMaxTagSymbolBitLength = 32
constexpr

◆ vp10_fastdiv_tab

const struct fastdiv_elem draco::vp10_fastdiv_tab