#include <c4d_basefile.h>
Public Member Functions | |
BaseFile () | |
~BaseFile () | |
Private Member Functions | |
Int | AdjustBuffer (Int rsize) |
void * | Gefopen (const Filename &fn, FILEOPEN mode) |
Private Attributes | |
void * | _file |
Bool | _memop |
FILEERROR | _error |
BYTEORDER | _order |
Int32 | _memblock |
Int | _memsize |
FILEOPEN | _streammode |
Int64 | _length |
Int64 | _position |
UChar * | _buffer |
Int | _buffer_size |
Int64 | _buffer_pos |
Int | _b_start |
Int | _b_end |
MemoryFileStruct * | _mws |
Alloc/Free | |
static BaseFile * | Alloc () |
static void | Free (BaseFile *&fl) |
Open/Close | |
Bool | Open (const Filename &name, FILEOPEN mode=FILEOPEN_READ, FILEDIALOG error_dialog=FILEDIALOG_IGNOREOPEN, BYTEORDER order=BYTEORDER_MOTOROLA, Int32 type=MACTYPE_CINEMA, Int32 creator=MACCREATOR_CINEMA) |
Bool | Close () |
Read/Write Bytes | |
Int | ReadBytes (void *data, Int len, Bool just_try_it=false) |
Bool | WriteBytes (const void *data, Int len) |
File Pointer/Information/Error | |
Bool | Seek (Int64 pos, FILESEEK mode=FILESEEK_RELATIVE) |
Int64 | GetPosition () |
Int64 | GetLength () |
FILEERROR | GetError () const |
void | SetError (FILEERROR error) |
void | SetOrder (BYTEORDER order) |
Read | |
Bool | ReadChar (Char *v) |
Bool | ReadUChar (UChar *v) |
Bool | ReadInt16 (Int16 *v) |
Bool | ReadUInt16 (UInt16 *v) |
Bool | ReadInt32 (Int32 *v) |
Bool | ReadUInt32 (UInt32 *v) |
Bool | ReadFloat32 (Float32 *v) |
Bool | ReadFloat64 (Float64 *v) |
Bool | ReadInt64 (Int64 *v) |
Bool | ReadUInt64 (UInt64 *v) |
Bool | ReadFilename (Filename *v) |
Bool | ReadBool (Bool *v) |
Bool | ReadString (String *v) |
Bool | ReadVector32 (Vector32 *v) |
Bool | ReadVector64 (Vector64 *v) |
Bool | ReadMatrix32 (Matrix32 *v) |
Bool | ReadMatrix64 (Matrix64 *v) |
Write | |
Bool | WriteChar (const Char v) |
Bool | WriteUChar (const UChar v) |
Bool | WriteInt16 (const Int16 v) |
Bool | WriteUInt16 (const UInt16 v) |
Bool | WriteInt32 (const Int32 v) |
Bool | WriteUInt32 (const UInt32 v) |
Bool | WriteFloat32 (const Float32 v) |
Bool | WriteFloat64 (const Float64 v) |
Bool | WriteInt64 (const Int64 v) |
Bool | WriteUInt64 (const UInt64 v) |
Bool | WriteFilename (const Filename &v) |
Bool | WriteBool (Bool v) |
Bool | WriteString (const String &v) |
Bool | WriteVector32 (const Vector32 &v) |
Bool | WriteVector64 (const Vector64 &v) |
Bool | WriteMatrix32 (const Matrix32 &v) |
Bool | WriteMatrix64 (const Matrix64 &v) |
File operations class. Represents a disk file for reading and writing.
BaseFile | ( | ) |
Private. Default constructor.
~BaseFile | ( | ) |
Private. Default destructor.
|
static |
Allocates a file. Destroy the allocated file with Free().
|
static |
Destructs files allocated with Alloc().
[in,out] | fl | The file to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards. |
Bool Open | ( | const Filename & | name, |
FILEOPEN | mode = FILEOPEN_READ , |
||
FILEDIALOG | error_dialog = FILEDIALOG_IGNOREOPEN , |
||
BYTEORDER | order = BYTEORDER_MOTOROLA , |
||
Int32 | type = MACTYPE_CINEMA , |
||
Int32 | creator = MACCREATOR_CINEMA |
||
) |
Opens a file.
[in] | name | The name of the file to open. |
[in] | mode | The file access mode: FILEOPEN |
[in] | error_dialog | Set the type of error reporting that should happen while opening the file: FILEDIALOG |
[in] | order | The type of byte order in the file: BYTEORDER |
[in] | type | The type of file, only applies to Mac: MACTYPE_CINEMA. |
[in] | creator | The application that wrote the file, for example 'ttxt' (SimpleText) or 'C4D1' for Cinema 4D, Only relevant to Mac: MACCREATOR_CINEMA. |
Bool Close | ( | ) |
Closes the file.
Automatically called when a BaseFile object is destroyed.
Reads a block of bytes from the file.
[out] | data | The memory buffer to fill with the bytes from the file. The caller owns the pointed buffer. |
[in] | len | The number of bytes to read from the file. |
[in] | just_try_it | If true and the data retrieved from the file is less than requested, no error will be generated. |
Writes a block of bytes to the file.
[in] | data | The memory buffer with the data to write to the file. The caller owns the pointed buffer. |
[in] | len | The number of bytes to write to the file. |
Bool Seek | ( | Int64 | pos, |
FILESEEK | mode = FILESEEK_RELATIVE |
||
) |
Sets the file pointer within the file.
[in] | pos | The position within the file to place the file pointer. |
[in] | mode | Sets how the position relates to the file. |
Int64 GetPosition | ( | ) |
Gets the file pointer.
Int64 GetLength | ( | ) |
Gets the length of the file in bytes.
FILEERROR GetError | ( | ) | const |
Gets the last error during read or write.
void SetOrder | ( | BYTEORDER | order | ) |
Sets the byte order of the data in the file.
[in] | order | The byte order: BYTEORDER |
Bool ReadVector32 | ( | Vector32 * | v | ) |
Reads a Vector32 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Vector32. |
Bool ReadVector64 | ( | Vector64 * | v | ) |
Reads a Vector64 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Vector64. |
Bool ReadMatrix32 | ( | Matrix32 * | v | ) |
Reads a Matrix32 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Matrix32. |
Bool ReadMatrix64 | ( | Matrix64 * | v | ) |
Reads a Matrix64 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Matrix64. |
Writes a Char to the file.
[in] | v | The value to write to the file. |
Writes a UChar to the file.
[in] | v | The value to write to the file. |
Writes a Int16 to the file.
[in] | v | The value to write to the file. |
Writes a UInt16 to the file.
[in] | v | The value to write to the file. |
Writes a Int32 to the file.
[in] | v | The value to write to the file. |
Writes a UInt32 to the file.
[in] | v | The value to write to the file. |
Writes a Float32 to the file.
[in] | v | The value to write to the file. |
Writes a Float64 to the file.
[in] | v | The value to write to the file. |
Writes a Int64 to the file.
[in] | v | The value to write to the file. |
Writes a UInt64 to the file.
[in] | v | The value to write to the file. |
Writes a Filename to the file.
[in] | v | The value to write to the file. |
Writes a Bool to the file.
[in] | v | The value to write to the file. |
Writes a String to the file.
[in] | v | The value to write to the file. |
Bool WriteVector32 | ( | const Vector32 & | v | ) |
Writes a Vector32 to the file.
[in] | v | The value to write to the file. |
Bool WriteVector64 | ( | const Vector64 & | v | ) |
Writes a Vector64 to the file.
[in] | v | The value to write to the file. |
Bool WriteMatrix32 | ( | const Matrix32 & | v | ) |
Writes a Matrix32 to the file.
[in] | v | The value to write to the file. |
Bool WriteMatrix64 | ( | const Matrix64 & | v | ) |
Writes a Matrix64 to the file.
[in] | v | The value to write to the file. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |