#include <c4d_file.h>
Represents a file for reading and writing.
Private Member Functions | |
BaseFile () | |
~BaseFile () | |
Alloc/Free | |
static BaseFile * | Alloc (void) |
static void | Free (BaseFile *&fl) |
Open/Close | |
Bool | Open (const Filename &name, FILEOPEN mode=FILEOPEN::READ, FILEDIALOG error_dialog=FILEDIALOG::IGNOREOPEN, BYTEORDER order=BYTEORDER::V_MOTOROLA, Int32 type='C4DC', Int32 creator='C4D1') |
Bool | Close () |
Read/Write Bytes | |
Int | ReadBytes (void *data, Int len, Bool just_try_it=false) |
Int | TryReadBytes (void *data, Int len) |
Bool | WriteBytes (const void *data, Int len) |
File Pointer/Information/Error | |
Bool | Seek (Int64 pos, FILESEEK mode=FILESEEK::RELATIVE_) |
Int64 | GetPosition () |
Int64 | GetLength () |
LOCATION | GetLocation () const |
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 (maxon::String *v) |
Bool | ReadVector32 (Vector32 *v) |
Bool | ReadVector64 (Vector64 *v) |
Bool | ReadMatrix32 (Matrix32 *v) |
Bool | ReadMatrix64 (Matrix64 *v) |
Write | |
Bool | WriteChar (Char v) |
Bool | WriteUChar (UChar v) |
Bool | WriteInt16 (Int16 v) |
Bool | WriteUInt16 (UInt16 v) |
Bool | WriteInt32 (Int32 v) |
Bool | WriteUInt32 (UInt32 v) |
Bool | WriteFloat32 (Float32 v) |
Bool | WriteFloat64 (Float64 v) |
Bool | WriteInt64 (Int64 v) |
Bool | WriteUInt64 (UInt64 v) |
Bool | WriteFilename (const Filename &v) |
Bool | WriteBool (Bool v) |
Bool | WriteString (const maxon::String &v) |
Bool | WriteVector32 (const Vector32 &v) |
Bool | WriteVector64 (const Vector64 &v) |
Bool | WriteMatrix32 (const Matrix32 &v) |
Bool | WriteMatrix64 (const Matrix64 &v) |
|
private |
|
private |
|
static |
|
static |
Bool Open | ( | const Filename & | name, |
FILEOPEN | mode = FILEOPEN::READ , |
||
FILEDIALOG | error_dialog = FILEDIALOG::IGNOREOPEN , |
||
BYTEORDER | order = BYTEORDER::V_MOTOROLA , |
||
Int32 | type = 'C4DC' , |
||
Int32 | creator = 'C4D1' |
||
) |
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.
[in] | 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. |
Reads a block of bytes from the file.
If the end of the file is reached then only the remaining bytes will be read.
[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 try and read from the file. |
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 ReadString | ( | maxon::String * | v | ) |
Reads a Vector32 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Vector32. |
Reads a Vector64 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Vector64. |
Reads a Matrix32 from the file.
[out] | v | Assigned the read value. The caller owns the pointed Matrix32. |
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. |
Bool WriteString | ( | const maxon::String & | v | ) |
Writes a String to the file.
[in] | v | The value to write to the file. |
Writes a Vector32 to the file.
[in] | v | The value to write to the file. |
Writes a Vector64 to the file.
[in] | v | The value to write to the file. |
Writes a Matrix32 to the file.
[in] | v | The value to write to the file. |