Class cwipc_encodergroup
Defined in File api.h
Class Documentation
-
class cwipc_encodergroup
Pointcloud multiencoder, abstract C++ interface.
This interface is provided by group of pointcloud compressors. The caller feeds in pointclouds (as
cwipc_pointcloudobjects). Each pointcloud is fed to every encoder in the group, and every encoder returns the compressed pointcloud data.The intention of this interface is that multiple encoders can run in parallel threads, for example if the encoders operate on different tiles, or create encodings at multiple quality levels.
Public Functions
-
inline virtual ~cwipc_encodergroup()
-
virtual void free() = 0
Deallocate the multiencoder.
Because the encoder may be used in a different implementation language or DLL than where it is implemented we do not count on refcounting and such. Call this method if you no longer need it.
Note that this frees all encoders in the group as well.
-
virtual void feed(cwipc_pointcloud *pc) = 0
Encode a pointcloud.
This call presents each encoder in the group with a new pointcloud to encode.
-
virtual void close() = 0
Signal end of stream.
In multi-threaded applications call this to signal that no more data will be passed to feed().
-
virtual cwipc_encoder *addencoder(int version, cwipc_encoder_params *params, char **errorMessage) = 0
Add a new encoder to an encodergroup.
The returned object is the cwipc_encoder. It will return compressed pointcloud data for each pointcloud fed into the group.
- Parameters:
version – Pass in CWIPC_ENCODER_PARAM_VERSION to ensure runtime compatibility.
params – Pointer to a structure with parameters than govern the encoding process.
errorMessage – Pointer to a string that will be filled with a message in case of errors.
-
inline virtual ~cwipc_encodergroup()