OpenBarnyard
 
Loading...
Searching...
No Matches
TShader::TShaderList Class Reference

#include <TShader.h>

Public Member Functions

 TShaderList ()
 
void AddShader (TShader *pShader)
 
void RemoveShader (TShader *pShader)
 
TShaderGetRootShader ()
 

Detailed Description

Definition at line 31 of file TShader.h.

Constructor & Destructor Documentation

◆ TShaderList()

TShader::TShaderList::TShaderList ( )
inline

Definition at line 34 of file TShader.h.

35 : m_pRoot( TNULL ) {}
#define TNULL
Definition Typedefs.h:23

Member Function Documentation

◆ AddShader()

void TShader::TShaderList::AddShader ( TShader * pShader)

Definition at line 51 of file TShader.cpp.

52{
53 TShader* pLastShader = m_pRoot;
54
55 while ( pLastShader && pLastShader->m_pNextShader != TNULL )
56 pLastShader = pLastShader->m_pNextShader;
57
58 if ( pLastShader != TNULL )
59 pLastShader->m_pNextShader = pShader;
60 else
61 m_pRoot = pShader;
62
63 pShader->m_pNextShader = TNULL;
64}
TShader()
Definition TShader.cpp:14

◆ GetRootShader()

TShader * TShader::TShaderList::GetRootShader ( )
inline

Definition at line 40 of file TShader.h.

40{ return m_pRoot; }

◆ RemoveShader()

void TShader::TShaderList::RemoveShader ( TShader * pShader)

Definition at line 66 of file TShader.cpp.

67{
68 TShader* pCurrShader = m_pRoot;
69 TShader* pPrevShader = TNULL;
70 TBOOL bFound = TFALSE;
71
72 while ( pCurrShader )
73 {
74 if ( pCurrShader == pShader )
75 {
76 bFound = TTRUE;
77 break;
78 }
79
80 pPrevShader = pCurrShader;
81 pCurrShader = pCurrShader->m_pNextShader;
82 }
83
84 if ( bFound )
85 {
86 if ( pPrevShader )
87 {
88 TASSERT( m_pRoot != pShader );
89 pPrevShader->m_pNextShader = pShader->m_pNextShader;
90 }
91 else
92 {
93 TASSERT( m_pRoot == pShader );
94 m_pRoot = pShader->m_pNextShader;
95 }
96 }
97}
#define TASSERT(X,...)
Definition Defines.h:138
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6

The documentation for this class was generated from the following files: