Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

# Référence de la classe ExManagerVertexProgram

`#include <ExManagerVertexProgram.h>`

Graphe d'héritage de la classe ExManagerVertexProgram

## Membres publics
void | Init (void)
void | Reset (void)
void | Draw (void)
unsigned char * | readShaderFile (const char *fileName)
void | SetManagerId (ExManagerId *Id)
void | Init (std::string FileName)
void | Reload (void)
void | List (void)
bool | Add (ExCVertexProgramobject)
bool | Add (std::string FileName)
bool | Load (std::string FileName)
bool | Remove (ExNihilo::ExId id)
bool | Remove (std::string Name)
bool | RemoveCurrentObject (void)
ExCVertexProgram * | GetObject (ExNihilo::ExId id)
ExCVertexProgram * | GetObject (std::string Name)
ExCVertexProgram * | GetCurrentObject (void)
ExCVertexProgram * | GetFirstObject (void)
ExCVertexProgram * | GetLastObject (void)
ExNihilo::ExId | GetFirstObjectId (void)
ExNihilo::ExId | GetLasstObjectId (void)
bool | SetCurrentObject (ExNihilo::ExId id)
bool | SetCurrentObject (std::string Name)
ExNihilo::ExId | NextObject (void)
ExNihilo::ExId | PreviousObject (void)
unsigned int | GetNumberObject (void)
void | SetFlux (std::ostrstream *consol, ExCFluxAction *action)
bool | GetStatus (void)
void | SetStatus (bool status)
void | SetAskForCommand (bool status)
void | SetAskForExclusifCommand (bool status)
bool | AskForCommand (void)
bool | AskForExclusifCommand (void)
virtual ExCAction | InputCommand (ExCCommand Command)
virtual ExCAction | InputAction (ExCAction Action)
## Membres publics statiques
ExManagerVertexProgram * | CreateSingleton (void)
## Attributs Publics
std::ostrstream * | Consol
ExCFluxAction * | FluxAction
## Attributs Protégés
std::map< ExNihilo::ExId, ExCVertexProgram, std::less< ExNihilo::ExId > > * | m_Map
std::map< ExNihilo::ExId, ExCVertexProgram, std::less< ExNihilo::ExId > >::iterator | m_ItMap
ExManagerId * | ManagerId
ExNihilo::ExId | m_CurrentObjectId
bool | m_Status
bool | m_AskForCommand
bool | m_Exclusif
## Membres privés
| ExManagerVertexProgram (void)
| ~ExManagerVertexProgram (void)
## Attributs Privés
PFNGLGENPROGRAMSNVPROC | glGenProgramsNV
PFNGLDELETEPROGRAMSNVPROC | glDeleteProgramsNV
PFNGLBINDPROGRAMNVPROC | glBindProgramNV
PFNGLLOADPROGRAMNVPROC | glLoadProgramNV
PFNGLPROGRAMPARAMETER4FNVPROC | glProgramParameter4fNV
PFNGLTRACKMATRIXNVPROC | glTrackMatrixNV
GLuint | g_vertexProgramID
## Attributs Privés Statiques
bool | m_flag = false
ExManagerVertexProgram * | m_instance = NULL

## Documentation des contructeurs et destructeurs

ExManagerVertexProgram::ExManagerVertexProgram | ( | void |  | ) | `[private]`

| Définition à la ligne 43 du fichier ExManagerVertexProgram.cpp.
    00044 {
    00045
    00046 }

ExManagerVertexProgram::~ExManagerVertexProgram | ( | void |  | ) | `[private]`

| Définition à la ligne 48 du fichier ExManagerVertexProgram.cpp.
    00049 {
    00050
    00051 }

## Documentation des méthodes

bool ExManagerObject< ExCVertexProgram >::Add | ( | std::string | FileName | ) | `[inherited]`

bool ExManagerObject< ExCVertexProgram >::Add | ( | ExCVertexProgram | object | ) | `[inherited]`

bool ExManager::AskForCommand | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 89 du fichier ExManager.h. Références ExManager::m_AskForCommand. Référencé par ExManagerCommand::InputCommand().
    00089 {return m_AskForCommand;}

bool ExManager::AskForExclusifCommand | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 90 du fichier ExManager.h. Références ExManager::m_Exclusif. Référencé par ExManagerCommand::InputCommand().
    00090 {return m_Exclusif;}

ExManagerVertexProgram * ExManagerVertexProgram::CreateSingleton | ( | void |  | ) | `[static]`

| Définition à la ligne 29 du fichier ExManagerVertexProgram.cpp. Références CreateSingleton(), Guard, m_flag, m_instance, et UnGuard. Référencé par CreateManager(), et CreateSingleton().
    00029                                                                    {
    00030 Guard(ExManagerVertexProgram* ExManagerVertexProgram::CreateSingleton(void))
    00031         if(!m_flag)
    00032         {
    00033                 m_flag = true; // We are creating the error log now, so set flag to true
    00034                 m_instance = new ExManagerVertexProgram; // Create the error log
    00035         }else
    00036         {
    00037                 std::cout<<"Error singleton already created"<<std::endl;
    00038         }
    00039         return m_instance;
    00040 UnGuard
    00041 }

void ExManagerVertexProgram::Draw | ( | void |  | ) | `[virtual]`

| Redéfinie à partir de ExManagerObject< ExCVertexProgram >. Définition à la ligne 144 du fichier ExManagerVertexProgram.cpp. Références Draw(), g_quadVertices, g_vertexProgramID, glBindProgramNV, glProgramParameter4fNV, glTrackMatrixNV, Guard, ExNihilo::ShowGlError(), et UnGuard. Référencé par Draw().
    00145 {
    00146 Guard (void ExManagerVertexProgram::Draw (void))
    00147         std::cout<<"Draw"<<std::endl;
    00148         //glMatrixMode( GL_MODELVIEW );
    00149     //glLoadIdentity();
    00150         glTranslatef( 0.0f, 0.0f, -5.0f );
    00151   //  glRotatef( -45, 1.0f, 0.0f, 0.0f );
    00152    // glRotatef( -g_fSpinX, 0.0f, 1.0f, 0.0f );
    00153
    00154     // Track the combined model-view-projection matrix in registers c[0]-c[3]
    00155     glTrackMatrixNV( GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV );
    00156         std::cout<<"glTrackMatrixNV"<<std::endl;ExNihilo::ShowGlError();
    00157     // Load a constant color into register c[4]
    00158
    00159     glProgramParameter4fNV( GL_VERTEX_PROGRAM_NV, 4, 0.0f, 1.0f, 0.0f, 0.0f );
    00160         std::cout<<"glProgramParameter4fNV"<<std::endl;ExNihilo::ShowGlError();
    00161         glBindProgramNV( GL_VERTEX_PROGRAM_NV, g_vertexProgramID );
    00162         std::cout<<"glBindProgramNV"<<std::endl;ExNihilo::ShowGlError();
    00163         glEnable( GL_VERTEX_PROGRAM_NV );
    00164         std::cout<<"glEnable"<<std::endl;ExNihilo::ShowGlError();
    00165         glInterleavedArrays( GL_C4UB_V3F, 0, g_quadVertices );
    00166         glDrawArrays( GL_QUADS, 0, 4 );
    00167
    00168         glDisable( GL_VERTEX_PROGRAM_NV );
    00169         std::cout<<"glDisable"<<std::endl;ExNihilo::ShowGlError();
    00170
    00171 UnGuard
    00172 }

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetCurrentObject | ( | void |  | ) | `[inherited]`

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetFirstObject | ( | void |  | ) | `[inherited]`

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::GetFirstObjectId | ( | void |  | ) | `[inherited]`

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::GetLasstObjectId | ( | void |  | ) | `[inherited]`

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetLastObject | ( | void |  | ) | `[inherited]`

unsigned int ExManagerObject< ExCVertexProgram >::GetNumberObject | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 124 du fichier ExManagerObject.h.
    00124 {return m_Map->size();}

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetObject | ( | std::string | Name | ) | `[inherited]`

ExCVertexProgram * ExManagerObject< ExCVertexProgram >::GetObject | ( | ExNihilo::ExId | id | ) | `[inherited]`

bool ExManager::GetStatus | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 85 du fichier ExManager.h. Références ExManager::m_Status. Référencé par ExManagerInterface::Draw(), ExManagerConsole::Draw(), et ExManagerOutput::DrawScene().
    00085 {return m_Status;}

void ExManagerObject< ExCVertexProgram >::Init | ( | std::string | FileName | ) | `[inherited]`

void ExManagerVertexProgram::Init | ( | void |  | ) | `[virtual]`

| Redéfinie à partir de ExManagerObject< ExCVertexProgram >. Définition à la ligne 53 du fichier ExManagerVertexProgram.cpp. Références Guard, et UnGuard. Référencé par PreInitManager().
    00054 {
    00055 Guard (void ExManagerVertexProgram::init (void))
    00056         /*char *ext = (char*)glGetString( GL_EXTENSIONS );
    00057
    00058         if( strstr( ext, "GL_NV_vertex_program" ) == NULL )
    00059         {
    00060                 std::cout<<"GL_NV_vertex_program extension was not found"<<std::endl;
    00061                 return;
    00062         }
    00063         else
    00064         {
    00065                 glGenProgramsNV        = (PFNGLGENPROGRAMSNVPROC)wglGetProcAddress("glGenProgramsNV");
    00066                 glDeleteProgramsNV     = (PFNGLDELETEPROGRAMSNVPROC)wglGetProcAddress("glDeleteProgramsNV");
    00067                 glBindProgramNV        = (PFNGLBINDPROGRAMNVPROC)wglGetProcAddress("glBindProgramNV");
    00068                 glLoadProgramNV        = (PFNGLLOADPROGRAMNVPROC)wglGetProcAddress("glLoadProgramNV");
    00069                 glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)wglGetProcAddress("glProgramParameter4fNV");
    00070                 glTrackMatrixNV        = (PFNGLTRACKMATRIXNVPROC)wglGetProcAddress("glTrackMatrixNV");
    00071
    00072                 if( !glGenProgramsNV || !glDeleteProgramsNV || !glBindProgramNV ||
    00073                 !glLoadProgramNV || !glProgramParameter4fNV || !glTrackMatrixNV )
    00074                 {
    00075                         std::cout<<"One or more GL_NV_vertex_program functions were not found"<<std::endl;
    00076                         return;
    00077                 }
    00078         }
    00079         // Create the vertex program
    00080     glGenProgramsNV( 1, &g_vertexProgramID );
    00081
    00082     unsigned char *shader_assembly = readShaderFile( "../Data/VertexProgram/fog.nvv" );
    00083
    00084     glLoadProgramNV( GL_VERTEX_PROGRAM_NV, g_vertexProgramID,
    00085                      strlen((char*) shader_assembly), shader_assembly );
    00086
    00087     delete shader_assembly;*/
    00088 UnGuard
    00089 }

ExCAction ExManager::InputAction | ( | ExCAction | Action | ) | `[virtual, inherited]`

| Redéfinie dans ExManagerCommand, ExManagerConsole, ExManagerFog, ExManagerId, ExManagerMap, ExManagerNetwork, ExManagerPVS, ExManagerSpecialEffect, ExManagerWindow, ExManagerLoad, ExManagerAnimation, ExManagerCamera, ExManagerEntity, ExManagerInterface, ExManagerLoad, ExManagerMesh, ExManagerModel, ExManagerObjectWindow, ExManagerParticuleSystem, ExManagerSound, et ExManagerTexture. Définition à la ligne 42 du fichier ExManager.cpp. Références NOTHING.
    00043 {return NOTHING;}

ExCAction ExManager::InputCommand | ( | ExCCommand | Command | ) | `[virtual, inherited]`

| Redéfinie dans ExManagerCommand, ExManagerConsole, ExManagerFog, ExManagerMap, ExManagerNetwork, ExManagerPVS, ExManagerSpecialEffect, ExManagerWindow, ExManagerLoad, ExManagerAnimation, ExManagerCamera, ExManagerEntity, ExManagerInterface, ExManagerLoad, ExManagerMesh, ExManagerModel, ExManagerObjectWindow, ExManagerParticuleSystem, et ExManagerSound. Définition à la ligne 40 du fichier ExManager.cpp. Références NOTHING.
    00041 {return NOTHING;}

void ExManagerObject< ExCVertexProgram >::List | ( | void |  | ) | `[inherited]`

bool ExManagerObject< ExCVertexProgram >::Load | ( | std::string | FileName | ) | `[inherited]`

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::NextObject | ( | void |  | ) | `[inherited]`

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::PreviousObject | ( | void |  | ) | `[inherited]`

unsigned char * ExManagerVertexProgram::readShaderFile | ( | const char * | fileName | ) |

| Définition à la ligne 98 du fichier ExManagerVertexProgram.cpp. Références Guard, readShaderFile(), et UnGuard. Référencé par readShaderFile().
    00099 {
    00100 Guard(unsigned char *ExManagerVertexProgram::readShaderFile( const char *fileName ))
    00101     FILE *file = fopen( fileName, "r" );
    00102
    00103     if( file == NULL )
    00104     {
    00105                 std::cout<<"Cannot open shader file!"<<std::endl;
    00106                 return 0;
    00107     }
    00108
    00109     struct _stat fileStats;
    00110
    00111     if( _stat( fileName, &fileStats ) != 0 )
    00112     {
    00113         std::cout<<"Cannot get file stats for shader file!"<<std::endl;
    00114         return 0;
    00115     }
    00116
    00117     unsigned char *buffer = new unsigned char[fileStats.st_size];
    00118
    00119         int bytes = fread( buffer, 1, fileStats.st_size, file );
    00120
    00121     buffer[bytes] = 0;
    00122
    00123         fclose( file );
    00124
    00125         return buffer;
    00126 UnGuard
    00127 }

void ExManagerObject< ExCVertexProgram >::Reload | ( | void |  | ) | `[virtual, inherited]`

| Redéfinie à partir de ExManager.

bool ExManagerObject< ExCVertexProgram >::Remove | ( | std::string | Name | ) | `[inherited]`

bool ExManagerObject< ExCVertexProgram >::Remove | ( | ExNihilo::ExId | id | ) | `[inherited]`

bool ExManagerObject< ExCVertexProgram >::RemoveCurrentObject | ( | void |  | ) | `[inherited]`

void ExManagerVertexProgram::Reset | ( | void |  | ) | `[virtual]`

| Redéfinie à partir de ExManagerObject< ExCVertexProgram >. Définition à la ligne 91 du fichier ExManagerVertexProgram.cpp. Références Guard, ExManagerObject< TypeA >::Reset(), Reset(), et UnGuard. Référencé par Reset().
    00092 {
    00093 Guard (void ExManagerVertexProgram::Reset (void))
    00094         ExManagerObject<ExCVertexProgram>::Reset();
    00095 UnGuard
    00096 }

void ExManager::SetAskForCommand | ( | bool | status | ) | `[inline, inherited]`

| Définition à la ligne 87 du fichier ExManager.h. Références ExManager::m_AskForCommand. Référencé par ExManagerConsole::ExManagerConsole(), ExManagerModel::ExManagerModel(), ExManagerObjectWindow::Init(), ExManagerNetwork::Init(), ExManagerConsole::InputAction(), ExManagerNetwork::InputCommand(), ExManagerLoad::LoadSetOfFile(), et ExManagerNetwork::Say().
    00087 {m_AskForCommand=status;}

void ExManager::SetAskForExclusifCommand | ( | bool | status | ) | `[inline, inherited]`

| Définition à la ligne 88 du fichier ExManager.h. Références ExManager::m_Exclusif. Référencé par ExManagerConsole::ExManagerConsole(), ExManagerModel::ExManagerModel(), ExManagerObjectWindow::Init(), ExManagerNetwork::Init(), ExManagerConsole::InputAction(), ExManagerNetwork::InputCommand(), et ExManagerNetwork::Say().
    00088 {m_Exclusif=status;}

bool ExManagerObject< ExCVertexProgram >::SetCurrentObject | ( | std::string | Name | ) | `[inherited]`

bool ExManagerObject< ExCVertexProgram >::SetCurrentObject | ( | ExNihilo::ExId | id | ) | `[inherited]`

void ExManager::SetFlux | ( | std::ostrstream * | consol,
|  | ExCFluxAction * | action
| ) | `[inherited]`

| Définition à la ligne 35 du fichier ExManager.cpp. Références ExManager::Consol, et ExManager::FluxAction. Référencé par SetManagerLink().
    00036 {
    00037         Consol=consol;
    00038         FluxAction=action;
    00039 }

void ExManagerObject< ExCVertexProgram >::SetManagerId | ( | ExManagerId * | Id | ) | `[inline, inherited]`

| Définition à la ligne 94 du fichier ExManagerObject.h.
    00094 {ManagerId      = Id;}

void ExManager::SetStatus | ( | bool | status | ) | `[inline, inherited]`

| Définition à la ligne 86 du fichier ExManager.h. Références ExManager::m_Status. Référencé par ExManagerConsole::Draw(), ExManagerConsole::ExManagerConsole(), ExManagerObjectWindow::Init(), ExManagerInterface::Init(), ExManagerConsole::InputAction(), ExManagerLoad::LoadSetOfFile(), et ExManagerConsole::SetConsoleState().
    00086 {m_Status=status;}

## Documentation des données imbriquées

std::ostrstream* ExManager::Consol`[inherited]`

| Définition à la ligne 73 du fichier ExManager.h. Référencé par ExManagerObject< TypeA >::Add(), ExManagerConsole::AddStringAction(), ExManagerConsole::ApplyBuffCommand(), ExManagerInputGLUT::CheckInput(), ExManagerSound::DisplayAviableInput(), ExManagerInputGLUT::DisplayAviableInput(), ExManagerLoad::DisplayFileType(), ExManagerLoad::GetFileType(), ExManagerVertexArrays::Init(), ExManagerTexture::Init(), ExManagerSound::Init(), ExManagerFog::Init(), ExManagerSound::InputAction(), ExManagerPVS::InputAction(), ExManagerParticuleSystem::InputAction(), ExManagerModel::InputAction(), ExManagerMesh::InputAction(), ExManagerMap::InputAction(), ExManagerLoad::InputAction(), ExManagerInterface::InputAction(), ExManagerFog::InputAction(), ExManagerEntity::InputAction(), ExManagerConsole::InputAction(), ExManagerCommand::InputAction(), ExManagerCamera::InputAction(), ExManagerAnimation::InputAction(), ExManagerObject< TypeA >::List(), ExManagerModel::List(), ExManagerId::List(), ExManagerConsole::ListConsoleCommand(), ExManagerTexture::Load(), ExManagerParticuleSystem::Load(), ExManagerModel::Load(), ExManagerInterface::Load(), ExManagerTexture::LoadCubeMap(), ExManagerLoad::LoadSetOfFile(), ExManagerSound::LoadSound(), ExManagerSound::PauseSound(), ExManagerSound::PlaySound(), ExManagerCommand::ProcesExCAction(), ExManagerId::RecordObject(), ExManager::SetFlux(), ExManagerSound::SetRepeatSound(), ExManagerSound::StopSound(), ExManagerConsole::UpdateConsolBuffer(), et ExManagerConsole::Write().

ExCFluxAction* ExManager::FluxAction`[inherited]`

| Définition à la ligne 74 du fichier ExManager.h. Référencé par ExManagerWindow::Apply(), ExManagerCommand::ApplyAction(), ExManagerCommand::LoadExecFile(), ExManagerId::RecordObject(), ExManager::SetFlux(), et ExManagerSpecialEffect::Specialeffect().

GLuint ExManagerVertexProgram::g_vertexProgramID`[private]`

| Définition à la ligne 77 du fichier ExManagerVertexProgram.h. Référencé par Draw().

PFNGLBINDPROGRAMNVPROC ExManagerVertexProgram::glBindProgramNV`[private]`

| Définition à la ligne 73 du fichier ExManagerVertexProgram.h. Référencé par Draw().

PFNGLDELETEPROGRAMSNVPROC ExManagerVertexProgram::glDeleteProgramsNV`[private]`

| Définition à la ligne 72 du fichier ExManagerVertexProgram.h.

PFNGLGENPROGRAMSNVPROC ExManagerVertexProgram::glGenProgramsNV`[private]`

| Définition à la ligne 71 du fichier ExManagerVertexProgram.h.

PFNGLLOADPROGRAMNVPROC ExManagerVertexProgram::glLoadProgramNV`[private]`

| Définition à la ligne 74 du fichier ExManagerVertexProgram.h.

PFNGLPROGRAMPARAMETER4FNVPROC ExManagerVertexProgram::glProgramParameter4fNV`[private]`

| Définition à la ligne 75 du fichier ExManagerVertexProgram.h. Référencé par Draw().

PFNGLTRACKMATRIXNVPROC ExManagerVertexProgram::glTrackMatrixNV`[private]`

| Définition à la ligne 76 du fichier ExManagerVertexProgram.h. Référencé par Draw().

bool ExManager::m_AskForCommand`[protected, inherited]`

| Définition à la ligne 70 du fichier ExManager.h. Référencé par ExManager::AskForCommand(), ExManagerConsole::ExManagerConsole(), et ExManager::SetAskForCommand().

ExNihilo::ExId ExManagerObject< ExCVertexProgram >::m_CurrentObjectId`[protected, inherited]`

| Définition à la ligne 79 du fichier ExManagerObject.h.

bool ExManager::m_Exclusif`[protected, inherited]`

| Définition à la ligne 71 du fichier ExManager.h. Référencé par ExManager::AskForExclusifCommand(), et ExManager::SetAskForExclusifCommand().

bool ExManagerVertexProgram::m_flag = false`[static, private]`

| Définition à la ligne 26 du fichier ExManagerVertexProgram.cpp. Référencé par CreateSingleton().

ExManagerVertexProgram * ExManagerVertexProgram::m_instance = NULL`[static, private]`

| Définition à la ligne 27 du fichier ExManagerVertexProgram.cpp. Référencé par CreateSingleton().

std::map< ExNihilo::ExId , ExCVertexProgram , std::less <ExNihilo::ExId > >::iterator ExManagerObject< ExCVertexProgram >::m_ItMap`[protected, inherited]`

| Définition à la ligne 76 du fichier ExManagerObject.h.

std::map< ExNihilo::ExId , ExCVertexProgram , std::less <ExNihilo::ExId > >* ExManagerObject< ExCVertexProgram >::m_Map`[protected, inherited]`

| Définition à la ligne 75 du fichier ExManagerObject.h.

bool ExManager::m_Status`[protected, inherited]`

| Définition à la ligne 69 du fichier ExManager.h. Référencé par ExManager::GetStatus(), et ExManager::SetStatus().

ExManagerId* ExManagerObject< ExCVertexProgram >::ManagerId`[protected, inherited]`

| Définition à la ligne 78 du fichier ExManagerObject.h.

La documentation associée à cette classe a été générée à partir des fichiers suivants :

- ExManagerVertexProgram.h
- ExManagerVertexProgram.cpp