#include <c4d_hyperfile.h>
Public Member Functions | |
| Int32 | GetFileVersion () | 
| Bool | CheckIt (HYPERFILEVALUE type) | 
Protected Member Functions | |
| Bool | WriteVReal (Float v) | 
| Bool | ReadVReal (Float *v) | 
| CINEMA4D_VERSION | GetCinema4DVersion () | 
| void | SetCinema4DVersion (CINEMA4D_VERSION version) | 
Protected Attributes | |
| AliasTrans * | aliastrans | 
Private Member Functions | |
| void | ReadStatus () | 
| void | WriteStatus () | 
| Bool | ReadDummy (Int64 n) | 
| void | SetFileVersion (Int32 version) | 
| Bool | ReadContainerV7 (BaseContainer *v, Bool flush) | 
| Bool | ReadContainerV8 (BaseContainer *v, Bool flush) | 
Private Attributes | |
| BaseFile | file | 
| FILEERROR | error | 
| Bool | ascii | 
| Bool | singleprecision | 
| FILEOPEN | mode | 
| Int64 | flen | 
| Int32 | last_b | 
| void * | data | 
| BaseDocument * | doc | 
| Int32 | fileversion | 
| Int32 | chunkdepth | 
| LoadStatusCallback * | callbackloadstatus | 
| SaveStatusCallback * | callbacksavestatus | 
| void * | callbackUserDataAtLoad | 
| void * | callbackUserDataAtSave | 
| CINEMA4D_VERSION | cinema4dSaveVersion | 
Friends | |
| class | BaseLink | 
| class | GeAliasGoal | 
| class | BaseDocument | 
| class | IpCommunicationThread | 
| class | Material | 
Constructor/Destructor | |
| HyperFile (BaseDocument *t_doc=nullptr) | |
| virtual | ~HyperFile () | 
Document | |
| BaseDocument * | GetDocument () | 
Length/Position | |
| Int64 | GetLength () | 
| Int64 | GetPosition () | 
Open/Close | |
| Bool | Open (Int32 ident, const Filename &name, FILEOPEN mod, FILEDIALOG error_dialog=FILEDIALOG_NONE) | 
| Bool | Close () | 
Value | |
| Bool | ReadValueHeader (HYPERFILEVALUE *h) | 
| Bool | SkipValue (HYPERFILEVALUE h) | 
Start/End Chunk | |
| Bool | ReadChunkStart (Int32 *id, Int32 *level) | 
| Bool | ReadChunkEnd () | 
| Bool | WriteChunkStart (Int32 id, Int32 level) | 
| Bool | WriteChunkEnd () | 
| Bool | SkipToEndChunk () | 
Error | |
| FILEERROR | GetError () | 
| void | SetError (FILEERROR err) | 
LoadStatus Callback | |
| void | SetLoadStatusCallback (LoadStatusCallback cb, void *ud) | 
| void | SetSaveStatusCallback (SaveStatusCallback cb, void *ud) | 
Private | |
| void * | GetPrivateData () | 
| void | SetPrivateData (void *t_data) | 
| Bool | Before8 () | 
| Bool | Before12 () | 
Hyper files are used to save plugin data that cannot be stored in a BaseContainer.
Access to the hyper file's data is like a FIFO (first in, first out) buffer; the values must written and read in the same order. 
| HyperFile | ( | BaseDocument * | t_doc = nullptr | ) | 
Constructs a hyper file for a Cinema 4D document.
| [in] | t_doc | The document for the hyper file. | 
      
  | 
  virtual | 
Default destructor.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  protected | 
      
  | 
  protected | 
| BaseDocument* GetDocument | ( | ) | 
Gets the active document for the hyper file operation. Can be nullptr, for example when saving layouts.
| Int64 GetLength | ( | ) | 
Gets the length of the file in bytes.
| Int64 GetPosition | ( | ) | 
Gets the position of the current file pointer.
| Bool Open | ( | Int32 | ident, | 
| const Filename & | name, | ||
| FILEOPEN | mod, | ||
| FILEDIALOG | error_dialog = FILEDIALOG_NONE  | 
        ||
| ) | 
Opens the hyper file.
| [in] | ident | File identification. | 
| [in] | name | File to open. | 
| [in] | mod | File mode. | 
| [in] | error_dialog | File error dialog. | 
| Bool Close | ( | ) | 
Closes the hyper file.
| Int32 GetFileVersion | ( | ) | 
Gets the version of Cinema 4D that wrote the file. (Only valid during reading a Cinema 4D scene, object, material etc.)
| Bool CheckIt | ( | HYPERFILEVALUE | type | ) | 
Checks the data type in the hyper file at the current file position.
| [in] | type | The type to check. | 
| Bool ReadValueHeader | ( | HYPERFILEVALUE * | h | ) | 
Reads the value header from the file. This is only necessary in combination with loops.
For example: 
| [in] | h | A pointer to a HYPERFILEVALUE. | 
| Bool SkipValue | ( | HYPERFILEVALUE | h | ) | 
Skips a given type of value.
| [in] | h | The hyper file value to skip. | 
Reads a chunk identification from the hyper file.
| [out] | id | Assigned the chunk ID. | 
| [out] | level | Assigned the chunk level. | 
| Bool ReadChunkEnd | ( | ) | 
Reads a chunk end marker from the hyper file.
Writes a chunk marker into the file indicating the beginning of a new chunk of data.
| [in] | id | The ID for the chunk. | 
| [in] | level | Increase this level to save/read new values. | 
| Bool WriteChunkEnd | ( | ) | 
Writes a chunk ending marker into the hyper file.
| Bool SkipToEndChunk | ( | ) | 
Moves the file pointer to the end of the chunk.
Reads a Char value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a UChar value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads an Int16 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a UInt16 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads an Int32 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a UInt32 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads an Int64 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a UInt64 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Float value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Float32 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Float64 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Bool value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a BaseTime value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Vector value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| Bool ReadVector32 | ( | Vector32 * | v | ) | 
Reads a Vector32 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| Bool ReadVector64 | ( | Vector64 * | v | ) | 
Reads a Vector64 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Matrix value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| Bool ReadMatrix32 | ( | Matrix32 * | v | ) | 
Reads a Matrix32 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| Bool ReadMatrix64 | ( | Matrix64 * | v | ) | 
Reads a Matrix64 value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a String value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a Filename value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| Bool ReadImage | ( | BaseBitmap * | v | ) | 
Reads a BaseBitmap value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
Reads a GeData value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| Bool ReadContainer | ( | BaseContainer * | v, | 
| Bool | flush | ||
| ) | 
Reads a BaseContainer value from the hyper file.
| [out] | v | Assigned the value read from the hyper file. | 
| [in] | flush | Specify if the container should be cleared before reading the new values. Using false will merge the container with the one read from the file.  | 
| Bool ReadArray | ( | void * | data, | 
| HYPERFILEARRAY | datatype, | ||
| Int32 | structure_increment, | ||
| Int32 | count | ||
| ) | 
Reads an array of the specified datatype from the hyper file.
| [out] | data | Array to be filled. The caller owns the pointed array. | 
| [in] | datatype | Data type. | 
| [in] | structure_increment | Size of the data type (sizeof()). | 
| [in] | count | Number of elements in data. | 
Reads a block of memory from the hyper file.
| [out] | data | Pointer to the start of the memory block to read. | 
| [out] | size | Assigned the byte size of the memory data read. | 
Writes a Char value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a UChar value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes an Int16 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a UInt16 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes an Int32 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes an UInt32 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes an Int64 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Float32 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Float value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Float64 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Bool value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a BaseTime value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Vector value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
| Bool WriteVector32 | ( | const Vector32 & | v | ) | 
Writes a Vector32 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
| Bool WriteVector64 | ( | const Vector64 & | v | ) | 
Writes a Vector64 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Matrix value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
| Bool WriteMatrix32 | ( | const Matrix32 & | v | ) | 
Writes a Matrix32 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
| Bool WriteMatrix64 | ( | const Matrix64 & | v | ) | 
Writes a Matrix64 value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a String value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a Filename value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
Writes a GeData value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
| Bool WriteContainer | ( | const BaseContainer & | v | ) | 
Writes a BaseContainer value to the hyper file.
| [in] | v | The value to write to the hyper file. | 
| Bool WriteImage | ( | BaseBitmap * | bmp, | 
| Int32 | type, | ||
| BaseContainer * | data, | ||
| SAVEBIT | savebits = SAVEBIT_ALPHA  | 
        ||
| ) | 
Writes a bitmap image to the hyper file.
| [in] | bmp | Bitmap to write to the hyperfile. The caller owns the pointed bitmap. | 
| [in] | type | Image type. | 
| [in] | data | Container with additional format settings, or nullptr | 
| [in] | savebits | Save bits. | 
| Bool WriteArray | ( | const void * | data, | 
| HYPERFILEARRAY | datatype, | ||
| Int32 | structure_increment, | ||
| Int32 | count | ||
| ) | 
Writes an array of the specified type datatype to the hyper file.
| [in] | data | Pointer to the array. The caller owns the pointed array. | 
| [in] | datatype | Array data type. | 
| [in] | structure_increment | Size of the data type (sizeof()). | 
| [in] | count | Number of elements in data. | 
Writes a block of memory to the hyper file.
| [in] | data | Start of the memory block to write to the hyper file. | 
| [in] | count | Size in bytes of the memory data to write. | 
| FILEERROR GetError | ( | ) | 
Gets the error from the last hyper file operation.
| void SetError | ( | FILEERROR | err | ) | 
Sets the error value for the hyper file.
| [in] | err | The error. | 
| void SetLoadStatusCallback | ( | LoadStatusCallback | cb, | 
| void * | ud | ||
| ) | 
Sets the status for the loading of hyper files.
| [in] | cb | Load status callback. | 
| [in] | ud | User data. | 
| void SetSaveStatusCallback | ( | SaveStatusCallback | cb, | 
| void * | ud | ||
| ) | 
Sets the status for the saving of hyper files.
| [in] | cb | Save status callback. | 
| [in] | ud | User data. | 
| void* GetPrivateData | ( | ) | 
Private.
| void SetPrivateData | ( | void * | t_data | ) | 
Private.
| Bool Before8 | ( | ) | 
Private.
| Bool Before12 | ( | ) | 
Private.
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  protected |