Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten API 3.10 Documentation
Results will update as you type.
  • class Geo GeoLineSegment
  • class Geo GeoList
  • class Geo GeoMap
  • class Geo GeoMemoryDefault
  • class Geo GeoMemoryPool
  • class Geo GeoMemoryStream
  • class Geo GeoNonAABoundingBox
  • class Geo GeoNoopDestructor
  • class Geo GeoPair
  • class Geo GeoParametrisedPlane3
  • class Geo GeoPriorityQueue
  • class Geo GeoProgress
  • class Geo GeoQueue
  • class Geo GeoQueueEnumInterface
  • class Geo GeoRefArrayPtr
  • class Geo GeoRefCount
  • class Geo GeoRefPtr
  • class Geo GeoRefReleasePtr
  • class Geo GeoReleaseDestructor
  • class Geo GeoRGBXTexture
  • class Geo GeoScopedCSection
  • class Geo GeoSingleton
  • class Geo GeoSpatialHash
  • class Geo GeoString
  • class Geo GeoTimer
  • class Geo GeoTokenList
  • class Geo GeoTokenStream
  • class Geo GeoTriangle
  • class Geo GeoTriple
  • class Geo GeoUniqueDelegatePtr
  • class Geo GeoUniquePtr
  • class Geo GeoUniqueReleasePtr
  • class Geo GeoV128Texture
  • class Geo GeoVariant
  • class Geo GeoVirtualPageAllocator
  • class Geo GeoZLibFileStream
  • class Geo GoodRNG
  • class Geo IdentDataCompare
  • class Geo IdentVertLinkBuilder
  • class Geo IdxLink
  • class Geo IffReader
  • class Geo IffTextWriter
  • class Geo IffWriter
  • class Geo IGeoEvent
  • class Geo IGeoInputStream
  • class Geo IGeoProgressProxy
  • class Geo IGeoRayTracingContext
  • class Geo IGeoReleasable
  • class Geo IGeoSerialisable
  • class Geo IGeoStream
  • class Geo IRtMesh
  • class Geo ITerminalCmdHandler
  • class Geo ITerminalDelegate
  • class Geo ITerminalInputHandler
  • class Geo ITerminalOutputHandler
  • class Geo Matrix
  • class Geo MemoryAllocator
  • class Geo NonCopyable
  • class Geo Optional
  • class Geo PackedInteger4
  • class Geo PointLeaf
  • class Geo PointSplit
  • class Geo PointSplitBounds
  • class Geo PointSplitState
  • class Geo QuickTaskTimer
  • class Geo RayResult
  • class Geo Releasable
  • class Geo RingBuffer
  • class Geo RtMesh
  • class Geo RtMeshGroup
  • class Geo ScopedTickCounter
  • class Geo ScopedTimer
  • class Geo SHCoeff
  • class Geo SimpleRNG
  • class Geo TerminalProvider
  • class Geo TextureWriter
  • class Geo TreeNode
  • class Geo TriGroupSelection
  • class Geo TxtProgressBar
  • namespace Geo Iff
  • namespace Geo PathUtils
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
class Geo IffReader

    This is the documentation for Enlighten.

    class Geo IffReader

    Nov 21, 2019

    class Geo::IffReader

        └>Geo::IGeoInputStream

    An IffReader allows you to use an IGeoStream to read Iff format binary files easily.

    It is passed an IGeoStream in its constructor and also implements IGeoStream, thus making it like an Adaptor pattern. Although the class uses the function name 'BeginFile' the underlying stream can be of any type.

    Functions

    Name Description
    ~IGeoInputStream()

    Deleting a stream should behave like a close operation.

    BeginFile()

    Step into the main FORM chunk, extract the file type tag.

    Fail()

    Put the reader directly into a fail state.

    GetChunkSize()

    Return the size of the current chunk.

    GetFileType()

    Return the file type tag that was stored in IffReader::BeginFile()

    GetFileVersion()

    Return the file version code that was stored in IffReader::BeginFile()

    GetNextChunk(bool)

    The method of reading Iff files is to iterate over the chunks by calling 'GetNextChunk' until the function returns Iff::EOFTag.

    GetPosition()

    Wrap the IGeoStream::GetPosition function.

    GetPosition()

    Return the position of the read/write pointer within the stream (prototype matches ftell)

    IffReader(IGeoInputStream &)

    Construct an IffReader with a pre-existing IGeoStream.

    IsEof()

    Wrap the IGeoStream::IsEof function.

    IsEof()

    Is the read pointer at the end of the file (as with feof, only returns true if you have read past end)

    IsOk()

    Wrap the IGeoStream::IsOk function, returning status of the IffWriter also.

    IsOk()

    Tests if the stream is valid.

    IsReaderOk()

    Return status of the reader Note: Prefer to use the IGeoStream::IsOk() method.

    Read(void *, size_t, size_t)

    Read data (prototype matches fread). Prefer to use the templated Read methods.

    Read(void *, size_t, size_t)

    Wrap the IGeoStream::Read function, tracking the return code.

    Read(T &)

    Read a single object, returning true on success.

    Read(TIter, TIter)

    Read a collection of objects, returning true on success.

    Read(T(&))

    Read a fixed size array.

    ReadImpl(T &, GeoStd::TrueType)

    Read a single object, returning true on success.

    ReadImpl(T &, GeoStd::FalseType)

    Read a single object, returning true on success.

    ReadToEnd()

    Reads the stream to its end and returns the data as a char array.

    SetPosition(u64)

    Wrap the IGeoStream::SetPosition function, be careful when jumping around inside IffReader.

    SetPosition(Geo::u64)

    Set the position of the read/write pointer within the stream (prototype matches fseek)


    virtual Geo::IGeoInputStream::~IGeoInputStream


    public: virtual ~IGeoInputStream()


    Deleting a stream should behave like a close operation.


    bool Geo::IffReader::BeginFile


    public: bool BeginFile()


    Step into the main FORM chunk, extract the file type tag.

    From there, read the first chunk (which should be VERS) and then the version code. Leaves the IffReader ready to iterate on


    void Geo::IffReader::Fail


    public: void Fail()


    Put the reader directly into a fail state.


    size_t Geo::IffReader::GetChunkSize


    public: size_t GetChunkSize() const


    Return the size of the current chunk.


    u32 Geo::IffReader::GetFileType


    public: u32 GetFileType() const


    Return the file type tag that was stored in IffReader::BeginFile()


    s32 Geo::IffReader::GetFileVersion


    public: s32 GetFileVersion() const


    Return the file version code that was stored in IffReader::BeginFile()


    u32 Geo::IffReader::GetNextChunk


    public: u32 GetNextChunk
    (
        bool stepIntoChunk
    )


    The method of reading Iff files is to iterate over the chunks by calling 'GetNextChunk' until the function returns Iff::EOFTag.

    stepIntoChunk Chunks are usually on the same level, but if you wish to arrange them in a hierarchy the reader will have to pass 'true' for this parameter when first looking for child chunks.When the list of child chunks is exhausted, the function will return EOFTag. If stepIntoChunk is set to true and an EOFTag is returned, GetNextChunk has to be called again with stepIntoChunk set to false to actually proceed reading the file.


    virtual u64 Geo::IffReader::GetPosition


    public: virtual u64 GetPosition() const


    Wrap the IGeoStream::GetPosition function.


    virtual Geo::u64 Geo::IGeoInputStream::GetPosition


    public: Geo::u64 GetPosition() const


    Return the position of the read/write pointer within the stream (prototype matches ftell)


    Geo::IffReader::IffReader


    public: IffReader
    (
        IGeoInputStream & stream
    )


    Construct an IffReader with a pre-existing IGeoStream.


    virtual bool Geo::IffReader::IsEof


    public: virtual bool IsEof() const


    Wrap the IGeoStream::IsEof function.


    virtual bool Geo::IGeoInputStream::IsEof


    public: bool IsEof() const


    Is the read pointer at the end of the file (as with feof, only returns true if you have read past end)


    virtual bool Geo::IffReader::IsOk


    public: virtual bool IsOk() const


    Wrap the IGeoStream::IsOk function, returning status of the IffWriter also.


    virtual bool Geo::IGeoInputStream::IsOk


    public: bool IsOk() const


    Tests if the stream is valid.


    bool Geo::IffReader::IsReaderOk


    public: bool IsReaderOk() const


    Return status of the reader Note: Prefer to use the IGeoStream::IsOk() method.


    virtual size_t Geo::IGeoInputStream::Read


    public: size_t Read
    (
        void * pData,
        size_t size,
        size_t count
    )


    Read data (prototype matches fread). Prefer to use the templated Read methods.


    virtual size_t Geo::IffReader::Read


    public: virtual size_t Read
    (
        void * pData,
        size_t size,
        size_t count
    )


    Wrap the IGeoStream::Read function, tracking the return code.


    GEO_FORCE_INLINE bool Geo::IGeoInputStream::Read


    public: GEO_FORCE_INLINE bool Read
    (
        T & object
    )


    Read a single object, returning true on success.

    There must either be a ReadObject overload for T, or T be considered blittable (see IsBlittable<T>).


    bool Geo::IGeoInputStream::Read


    public: bool Read
    (
        TIter begin,
        TIter end
    )


    Read a collection of objects, returning true on success.

    Object must be considered blittable (see IsBlittable<T>). Note that the storage must have been pre-allocated as it will write directly to the iterators provided. Given that we do not have the STL-style 'back-inserter' classes, for GeoArrays you should use the ReadArray helper function.


    bool Geo::IGeoInputStream::Read


    public: bool Read
    (
        T(&) a
    )


    Read a fixed size array.


    bool Geo::IGeoInputStream::ReadImpl


    public: bool ReadImpl
    (
        T & object,
        GeoStd::TrueType
    )


    Read a single object, returning true on success.

    There must either be a ReadObject overload for T, or T be considered blittable (see IsBlittable<T>).


    bool Geo::IGeoInputStream::ReadImpl


    public: bool ReadImpl
    (
        T & object,
        GeoStd::FalseType
    )


    Read a single object, returning true on success.

    There must either be a ReadObject overload for T, or T be considered blittable (see IsBlittable<T>).


    virtual Geo::GeoArray<char> Geo::IGeoInputStream::ReadToEnd


    public: virtual Geo::GeoArray< char > ReadToEnd()


    Reads the stream to its end and returns the data as a char array.


    virtual bool Geo::IffReader::SetPosition


    public: virtual bool SetPosition
    (
        u64 pos
    )


    Wrap the IGeoStream::SetPosition function, be careful when jumping around inside IffReader.


    virtual bool Geo::IGeoInputStream::SetPosition


    public: bool SetPosition
    (
        Geo::u64 pos
    )


    Set the position of the read/write pointer within the stream (prototype matches fseek)

    , multiple selections available,
    {"serverDuration": 9, "requestCorrelationId": "9ecd2e3103d04a02b453b2d40149e16d"}