15 #ifndef FFTCOMPRESSOR_H
16 #define FFTCOMPRESSOR_H
18 #include "pandabase.h"
21 #include "pointerToArray.h"
22 #include "vector_stdfloat.h"
23 #include "vector_double.h"
49 static bool is_compression_available();
51 void set_quality(
int quality);
52 int get_quality()
const;
54 void set_use_error_threshold(
bool use_error_threshold);
55 bool get_use_error_threshold()
const;
57 void set_transpose_quats(
bool flag);
58 bool get_transpose_quats()
const;
60 void write_header(
Datagram &datagram);
61 void write_reals(
Datagram &datagram,
const PN_stdfloat *array,
int length);
70 static void free_storage();
79 RW_length_mask = 0x3f,
88 int write_run(
Datagram &datagram, RunWidth run_width,
89 const vector_double &run);
91 double get_scale_factor(
int i,
int length)
const;
92 static double interpolate(
double t,
double a,
double b);
94 PN_stdfloat get_compressability(
const PN_stdfloat *data,
int length)
const;
96 int _bam_minor_version;
98 bool _use_error_threshold;
101 double _fft_exponent;
102 bool _transpose_quats;
This is the base class for all three-component vectors and points.
This class manages a lossy compression and decompression of a stream of floating-point numbers to a d...
This is our own Panda specialization on the default STL vector.
A class to retrieve the individual data elements previously stored in a Datagram. ...
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...