Open Search
    BaseShader Class Reference

    #include <c4d_baseshader.h>

    Inheritance diagram for BaseShader:

    Public Types

    typedef BaseList4D SUPER
     
    - Public Types inherited from BaseList4D
    typedef BaseList2D SUPER
     
    - Public Types inherited from BaseList2D
    typedef GeListNode SUPER
     
    - Public Types inherited from GeListNode
    typedef PrivateChunk SUPER
     

    Public Member Functions

    virtual Bool IsInstanceOf (cineware::Int32 id) const
     
    - Public Member Functions inherited from BaseList4D
    BaseList4DGetUp ()
     
    BaseList4DGetDown ()
     
    BaseList4DGetDownLast ()
     
    void InsertBefore (BaseList4D *bl)
     
    void InsertAfter (BaseList4D *bl)
     
    void InsertUnder (BaseList4D *bl)
     
    void InsertUnderLast (BaseList4D *bl)
     
    virtual void Remove ()
     
    - Public Member Functions inherited from BaseList2D
     BaseList2D ()
     
    virtual ~BaseList2D ()
     
    BaseList2DGetNext ()
     
    BaseList2DGetPred ()
     
    NodeDataGetNodeData ()
     
    void SetNodeData (NodeData *data)
     
    void SetBit (Int32 mask)
     
    Bool GetBit (Int32 mask)
     
    void DelBit (Int32 mask)
     
    void ToggleBit (Int32 mask)
     
    Int32 GetAllBits ()
     
    void SetAllBits (Int32 bits)
     
    BaseContainer GetData ()
     
    BaseContainerGetDataInstance ()
     
    BaseContainerGetDataInstanceRef ()
     
    const StringGetName ()
     
    void SetName (const String &new_name)
     
    const GeMarkerGetMarker () const
     
    void SetMarker (const GeMarker &m)
     
    Bool AddUniqueID (Int32 appid, const Char *const mem, Int bytes)
     
    Bool FindUniqueID (Int32 appid, const Char *&mem, Int &bytes) const
     
    Int32 GetUniqueIDCount () const
     
    Bool GetUniqueIDIndex (Int32 idx, Int32 &id, const Char *&mem, Int &bytes) const
     
    BaseShaderGetFirstShader ()
     
    Bool InsertShader (BaseShader *shader, BaseShader *pred=nullptr)
     
    Bool InsertShaderLast (BaseShader *shader)
     
    RootCTrackGetCTrackRoot ()
     
    CTrackGetFirstCTrack ()
     
    CTrackFindCTrack (const DescID &id)
     
    Bool AppendCTrack (CTrack *t)
     
    void InsertTrackSorted (CTrack *track)
     
    LayerObjectGetLayerObject ()
     
    void SetLayerObject (LayerObject *layer)
     
    const LayerDataGetLayerData (BaseDocument *doc, Bool rawdata=false)
     
    Bool SetLayerData (BaseDocument *doc, const LayerData &data)
     
    DynamicDescriptionGetDynamicDescription ()
     
    virtual Bool IsBaseList ()
     
    Bool SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
     
    DESCIDSTATE GetDescIDState (const DescID &id, Bool tolerant) const
     
    RootPluginNodeGetOverrideRoot ()
     
    BaseOverrideGetFirstOverride ()
     
    virtual Bool TranslateDescID (const DescID &id, DescID &res_id, GeListNode *&res_at)
     
    - Public Member Functions inherited from GeListNode
     GeListNode ()
     
     ~GeListNode ()
     
    virtual Bool GetNBit (Int32 bit) const
     
    virtual Bool ChangeNBit (NBIT bit, NBITCONTROL bitmode)
     
    BaseDocumentGetDocument ()
     
    virtual Int32 GetInfo ()
     
    GeListNodeGetPred ()
     
    GeListNodeGetNext ()
     
    GeListNodeGetUp ()
     
    GeListNodeGetDown ()
     
    GeListNodeGetDownLast ()
     
    void InsertBefore (GeListNode *op)
     
    void InsertAfter (GeListNode *op)
     
    void Remove ()
     
    void InsertUnder (GeListNode *op)
     
    void InsertUnderLast (GeListNode *op)
     
    RootList2DGetListHead ()
     
    Int32 GetNodeID (Int32 index=0) const
     
    - Public Member Functions inherited from PrivateChunk
     PrivateChunk ()
     
    Bool ReadChunk (HyperFile *hf, Bool keepin=false, Bool noheader=false)
     
    virtual Bool IsListHead ()
     
    Bool ReadObject (HyperFile *hf, Bool readheader)
     
    Bool WriteObject (HyperFile *hf, Int32 type)
     
    Bool CopyTo (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
     
    Bool GetParameter (Int32 id, GeData &data)
     
    Bool SetParameter (Int32 id, const GeData &data)
     
    Bool GetParameter (const DescID &id, GeData &data)
     
    Bool SetParameter (const DescID &id, const GeData &data)
     
    virtual Int32 GetChunkLevel ()
     
    - Public Member Functions inherited from GeTempPublicNode2D< PrivateChunk >
    PrivateChunkGetNext () const
     
    PrivateChunkGetPrev () const
     
    void InsertBefore (PrivateChunk *n)
     
    void InsertAfter (PrivateChunk *n)
     
    void Remove ()
     

    Protected Member Functions

    virtual Int32 GetInstanceType () const
     
    - Protected Member Functions inherited from BaseList4D
     BaseList4D ()
     
     ~BaseList4D ()
     
    - Protected Member Functions inherited from BaseList2D
    void SetID (Int32 id)
     
    virtual Bool GetDParameter (const DescID &id, GeData &data)
     
    virtual Bool SetDParameter (const DescID &id, const GeData &data)
     

    Private Member Functions

    virtual Bool CopyToX (PrivateChunk *dst, COPYFLAGS flags, AliasTrans *trn)
     

    Constructor

     BaseShader ()
     
     BaseShader (Int32 type)
     

    Alloc/Free

    static BaseShaderAlloc (Int32 type)
     
    static void Free (BaseShader *s)
     

    Navigation

    BaseShaderGetNext ()
     
    BaseShaderGetPred ()
     
    BaseShaderGetUp ()
     
    BaseShaderGetDown ()
     
    BaseShaderGetDownLast ()
     

    Type

    virtual Int32 GetType () const
     
    virtual Int32 GetDiskType () const
     

    Clone

    virtual BaseList2DGetClone (COPYFLAGS flags, AliasTrans *trn)
     

    Miscellaneous

    Bool Compare (BaseShader *dst)
     

    Bitmap Shader

    Filename GetFileName ()
     
    void SetFileName (Filename name)
     
    Bool HasContent ()
     

    Private

    virtual Bool HandleSubChunk (HyperFile *hf, Int32 id, Int32 level)
     
    virtual Bool Write (HyperFile *hf)
     

    Additional Inherited Members

    - Protected Attributes inherited from BaseList2D
    Int32 m_id
     
    RootShader mp_rootshader
     
    RootShader mp_rootshader_hidden
     
    RootShader root_shader_repository
     
    Int32 l_bitfeld
     
    RootCTrack mp_rootctrack
     
    RootPluginNode root_override
     
    NotifyListnotify_events
     
    DescIdStorekeyframestore
     
    DescIdStorepropstore
     
    BaseContainer m_bc
     
    NodeDatam_data
     
    - Protected Attributes inherited from GeListNode
    GeAliasGoal m_xgoal
     
    UInt32 m_bits [4]
     
    RootList2Dt_rootlist_parent
     
    RootList2Dm_children
     
    BaseDocumentparent_doc
     
    void * unknownData
     
    Int unknownDataSize
     
    Int32 unknownDataLevel
     
    Int32 pluginID
     

    Detailed Description

    Represents a shader in the shader tree of a channel. Call Material::GetShader() to retrieve an instance.

    Note
    Has to be created with Alloc() and destroyed with Free().

    Member Typedef Documentation

    ◆ SUPER

    typedef BaseList4D SUPER

    Constructor & Destructor Documentation

    ◆ BaseShader() [1/2]

    Default constructor.

    ◆ BaseShader() [2/2]

    BaseShader ( Int32  type)

    Constructs a base shader of the given type.

    Parameters
    [in]typeA shader type ID.

    Member Function Documentation

    ◆ IsInstanceOf()

    virtual Bool IsInstanceOf ( cineware::Int32  id) const
    virtual

    Reimplemented from BaseList4D.

    ◆ CopyToX()

    virtual Bool CopyToX ( PrivateChunk dst,
    COPYFLAGS  flags,
    AliasTrans trn 
    )
    privatevirtual

    Reimplemented from BaseList2D.

    ◆ GetInstanceType()

    virtual Int32 GetInstanceType ( ) const
    protectedvirtual

    Reimplemented from BaseList2D.

    ◆ Alloc()

    static BaseShader* Alloc ( Int32  type)
    static

    Allocates a base shader. Destroy the allocated base shader with Free().

    Parameters
    [in]typeA shader type ID.
    Returns
    The allocated base shader, or nullptr if the allocation failed.

    ◆ Free()

    static void Free ( BaseShader s)
    static

    Destructs base shaders allocated with Alloc().

    Parameters
    [in,out]sThe base shader to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

    ◆ GetNext()

    BaseShader* GetNext ( )

    Gets the next base shader in the list.

    Returns
    The next base shader, or nullptr if there is none. Cineware SDK owns the pointed base shader.

    ◆ GetPred()

    BaseShader* GetPred ( )

    Gets the previous base shader in the list.

    Returns
    The previous base shader, or nullptr if there is none. Cineware SDK owns the pointed base shader.

    ◆ GetUp()

    BaseShader* GetUp ( )

    Gets the parent base shader of the list node.

    Returns
    The parent base shader, or nullptr if there is none. Cineware SDK owns the pointed base shader.

    ◆ GetDown()

    BaseShader* GetDown ( )

    Gets the first child base shader of the list node.

    Returns
    The first child base shader, or nullptr if there is none. Cineware SDK owns the pointed base shader.

    ◆ GetDownLast()

    BaseShader* GetDownLast ( )

    Gets the last child base shader of the list node.

    Returns
    The last child base shader, or nullptr if there is none. Cineware SDK owns the pointed base shader.

    ◆ GetType()

    virtual Int32 GetType ( ) const
    virtual

    Gets the type of the shader.

    Warning
    This must be used to make sure that the derived shader really is of the right type before casting it and accessing its members.
    Note
    Plugin shader return their unique plugin IDs.
    Returns
    The shader type, for example Xvariation.

    Reimplemented from BaseList2D.

    ◆ GetDiskType()

    virtual Int32 GetDiskType ( ) const
    virtual

    Gets the shader's unique disk type.

    Note
    Normally this is the same as GetType(), but there are exceptions.
    Returns
    The shader's unique disk type.

    Reimplemented from BaseList2D.

    ◆ GetClone()

    virtual BaseList2D* GetClone ( COPYFLAGS  flags,
    AliasTrans trn 
    )
    virtual

    Gets a clone/copy of the base shader.

    Parameters
    [in]flagsFlags for the clone.
    [in]trnAn alias translator for the operation. Can be nullptr. The caller owns the pointed alias translator.
    Returns
    The cloned base shader. The caller owns the pointed base shader.

    Reimplemented from BaseList2D.

    ◆ Compare()

    Bool Compare ( BaseShader dst)

    Checks if *this is similar to *dst.

    Parameters
    [in]dstThe shader to compare with. The caller owns the pointed shader.
    Returns
    true if the shaders are the same, otherwise false.

    ◆ GetFileName()

    Filename GetFileName ( )

    Gets the texture path for bitmap shaders.

    See also
    Xbitmap.
    Returns
    The texture path.

    ◆ SetFileName()

    void SetFileName ( Filename  name)

    Sets the texture path for bitmap shaders.

    See also
    Xbitmap.
    Parameters
    [in]nameThe texture path to set.

    ◆ HasContent()

    Bool HasContent ( )

    Checks if the texture path is set for bitmap shaders.

    See also
    Xbitmap.
    Returns
    true if the texture path is set for bitmap shaders, otherwise false.

    ◆ HandleSubChunk()

    virtual Bool HandleSubChunk ( HyperFile hf,
    Int32  id,
    Int32  level 
    )
    virtual

    Private.

    Reimplemented from BaseList4D.

    ◆ Write()

    virtual Bool Write ( HyperFile hf)
    virtual

    Private.

    Reimplemented from BaseList4D.