BEdgeBreaker.h

Macro Definitions

EB_DEFAULT

HINT_ONE_PIECE

HINT_WATERTIGHT

HINT_MANIFOLD

HINT_NO_HANDLES

HINT_NO_BACKWARDS_OR_HOLES

HINT_INPUT_BY_TRISTRIPS

STATUS_ERROR

STATUS_NORMAL

STATUS_COMPLETE

STATUS_WATERTIGHT

STATUS_TRY_AGAIN

MTABLE_HAS_LENGTHS

MTABLE_HAS_M2STACKOFFSETS

MTABLE_HAS_M2GATEOFFSETS

MTABLE_HAS_DUMMIES

MTABLE_HAS_PATCHES

MTABLE_HAS_BOUNDING

MTABLE_HAS_QUANTIZATION

MTABLE_HAS_QUANTIZATION_NORMALS

CASE_C

CASE_L

CASE_E

CASE_R

CASE_S

CASE_M

CASE_M2

TONEXT4

MAXVAL

BIG_FLOAT

DEFAULT_QUANTIZATION

DEFAULT_POINT_FACTOR

DEFAULT_HINTS

POINTSIZE

GARBAGE_VERTEX

DUMMY_VERTEX

GARBAGE

VERTEX_SPECIAL

INVALIDATE_VERTEX

EA_VERTEX_INDEX

PROXY_VERTEX_INDEX

GARBAGE_EDGE

MULTIPLE_EDGE

EDGE_SPECIAL

EDGE_INVALID

INVALIDATE_EDGE

REAL_EDGE_INDEX

I2V

V2I

HALF_EDGE_INIT

HNEXT

HPREV

Types

ET_Bounding_TAG

eb_compress_configs_TAG

eb_decompress_configs_TAG

edgebreaker_header0

edgebreaker_header1

EDGEBREAKER_HEADER_TAG

mtable_info

HALF_EDGE_TAG

half_edge_array

int_stack

varstream

loop_table

Type Aliases

struct ET_Bounding_TAG

ET_Bounding

struct eb_compress_configs_TAG

eb_compress_configs

struct eb_decompress_configs_TAG

eb_decompress_configs

struct EDGEBREAKER_HEADER_TAG

edgebreaker_header

struct HALF_EDGE_TAG

half_edge

short

INT16

int

INT32

Functions

int

show_edgebreaker_compress_size

int

edgebreaker_compress

int

show_edgebreaker_decompress_size

int

edgebreaker_decompress

void

mtable_info_init

void

mtable_info_free

int

lookup_vertex

void

predict

int

old_predict

int

old_pack_points

int

old_unpack_points

int

old_unpack_normals

int

int_stack_init

int

int_stack_expand

void

int_stack_free

int

int_stack_pop

int

int_stack_pop_internal

void

int_stack_push

void

int_stack_push_if_unique

int

validate_associations

int

half_edge_array_init

void

half_edge_array_free

int

half_edge_array_expand

int

half_edge_array_append

int

validate_edge

void *

default_malloc

void

default_free

void

default_new_vertex

void

vsinit_write

void

vsinit_read

void

vsfree

void

vsswap

void

vsput

int

vsget

Detailed Description

Macro Definition

EB_DEFAULT
HINT_ONE_PIECE
HINT_WATERTIGHT
HINT_MANIFOLD
HINT_NO_HANDLES
HINT_NO_BACKWARDS_OR_HOLES
HINT_INPUT_BY_TRISTRIPS
STATUS_ERROR
STATUS_NORMAL
STATUS_COMPLETE
STATUS_WATERTIGHT
STATUS_TRY_AGAIN
MTABLE_HAS_LENGTHS
MTABLE_HAS_M2STACKOFFSETS
MTABLE_HAS_M2GATEOFFSETS
MTABLE_HAS_DUMMIES
MTABLE_HAS_PATCHES
MTABLE_HAS_BOUNDING
MTABLE_HAS_QUANTIZATION
MTABLE_HAS_QUANTIZATION_NORMALS
CASE_C
CASE_L
CASE_E
CASE_R
CASE_S
CASE_M
CASE_M2
TONEXT4(i)
MAXVAL(bits)
BIG_FLOAT
DEFAULT_QUANTIZATION
DEFAULT_POINT_FACTOR
DEFAULT_HINTS
POINTSIZE
GARBAGE_VERTEX
DUMMY_VERTEX
GARBAGE
VERTEX_SPECIAL(x)
INVALIDATE_VERTEX(x)
EA_VERTEX_INDEX(x)
PROXY_VERTEX_INDEX(proxy_hash, v)
GARBAGE_EDGE
MULTIPLE_EDGE
EDGE_SPECIAL(x)
EDGE_INVALID(x)
INVALIDATE_EDGE(x)
REAL_EDGE_INDEX(x)
I2V(x)
V2I(x)
HALF_EDGE_INIT(h)
HNEXT(i)
HPREV(i)

Type Alias Documentation

typedef struct ET_Bounding_TAG ET_Bounding
typedef struct eb_compress_configs_TAG eb_compress_configs
typedef struct eb_decompress_configs_TAG eb_decompress_configs
typedef struct EDGEBREAKER_HEADER_TAG edgebreaker_header
typedef struct HALF_EDGE_TAG half_edge
typedef short INT16
typedef int INT32

Function Documentation

int show_edgebreaker_compress_size(int pcount, int flen, int const *face_data, int *stream_len_out, int *pointmap_count_out, eb_compress_configs const *configs)
int edgebreaker_compress(int pcount, float const *points, float const *normals, int flen, int const *fdata_in, int *stream_len_in_out, void *stream_out, int *pointmap_len_in_out, int *pointmap_out, eb_compress_configs const *configs)
int show_edgebreaker_decompress_size(int stream_len, void const *stream, int *pcount_out, int *normal_count_out, int *flen_out)
int edgebreaker_decompress(int stream_len, void const *stream, int *pcount_in_out, float *points_out, float *normals_out, bool *by_tristrips_out, int *flen_in_out, int *faces_out, eb_decompress_configs const *configs)
void mtable_info_init(mtable_info *m)
void mtable_info_free(mtable_info *m)
int lookup_vertex(const struct vhash_s *proxy_hash, int v)
void predict(half_edge_array const *ea, int ei, int third_vertex_unknown, char const *touched, struct vhash_s const *proxy_hash, int const *quantized_points, int *prediction_out)
int old_predict(int const *associations, int const *points, ET_Bounding const *bounding, int x_quantization, int y_quantization, int z_quantization, int *out)
int old_pack_points(mtable_info *mtable, int *associations, edgebreaker_header *hptr, int original_pointcount, int const *pointmap, float const *points, int buffsize, void *buffer_out, eb_compress_configs const *configs)
int old_unpack_points(int const *associations, edgebreaker_header const *hptr, void const *diffs_in, float *points_out, ET_Bounding const *bounding, int x_quantization, int y_quantization, int z_quantization)
int old_unpack_normals(int const *associations, edgebreaker_header const *hptr, void const *diffs_in, float *normals_out, int x_quantization_normals, int y_quantization_normals, int z_quantization_normals)
int int_stack_init(int_stack *s)
int int_stack_expand(int_stack *s)
void int_stack_free(int_stack *s)
int int_stack_pop(int_stack *s)
int int_stack_pop_internal(int_stack *s, int offset, int *out)
void int_stack_push(int_stack *s, int n)
void int_stack_push_if_unique(int_stack *s, int n)
int validate_associations(int const *associations, int pointcount)
int half_edge_array_init(half_edge_array *ea, int initial_size)
void half_edge_array_free(half_edge_array *ea)
int half_edge_array_expand(half_edge_array *ea)
int half_edge_array_append(half_edge_array *ea, half_edge **out)
int validate_edge(half_edge_array const *ea, half_edge const *a, loop_table const *loops)
void *default_malloc(size_t size, void *user_data)
void default_free(void *ptr, void *user_data)
void default_new_vertex(int a, int b, int c, void *user_data)
void vsinit_write(varstream *vs, int size, void *pointer)
void vsinit_read(varstream *vs, int size, void *pointer)
void vsfree(varstream *vs)
void vsswap(varstream *vs)
void vsput(varstream *vs, int const *numbits_array, int val)
int vsget(varstream *vs, int const *numbits_array)