44 TiXmlDocument m_XMLDoc;
46 TiXmlEncoding xencoding = TIXML_ENCODING_LEGACY;
48 m_XMLDoc.Parse((
const char*) p_XmlText, 0, xencoding );
50 TiXmlElement* rootKey = m_XMLDoc.FirstChildElement(
"D" );
53 TiXmlElement* keyNode = rootKey->FirstChildElement(
"moKey");
74 TiXmlDocument m_XMLDoc;
76 TiXmlEncoding xencoding = TIXML_ENCODING_LEGACY;
78 m_XMLDoc.Parse((
const char*) p_XmlText, 0, xencoding );
81 TiXmlElement* sceneStateNode = m_XMLDoc.FirstChildElement(
"moSceneState");
88 m_in = atoi( sceneStateNode->Attribute(
"in") );
89 m_out = atoi( sceneStateNode->Attribute(
"out") );
91 TiXmlElement* keyNode = sceneStateNode->FirstChildElement(
"moKey");
100 keyNode = keyNode->NextSiblingElement(
"moKey");
145 m_i_scene_states = -1;
146 m_EffectManager.
Init();
163 newEffect = m_EffectManager.
New( MoldeoObjectDef );
165 res = newEffect->
Init();
168 if (pre>=0) newEffect->GetConfig()->SetCurrentPreConf(pre);
169 if (on>0) newEffect->Activate();
170 else newEffect->Deactivate();
182 newEffect = m_EffectManager.
New( MoldeoObjectDef );
184 res = newEffect->
Init();
187 if (pre>=0) newEffect->GetConfig()->SetCurrentPreConf(pre);
188 if (on>0) newEffect->Activate();
189 else newEffect->Deactivate();
201 newEffect = m_EffectManager.
New( MoldeoObjectDef );
203 res = newEffect->
Init();
206 if (pre>=0) newEffect->GetConfig()->SetCurrentPreConf(pre);
207 if (on>0) newEffect->Activate();
208 else newEffect->Deactivate();
218 int i_scene_states = 0;
224 if (mVal.GetSubValueCount()>1) {
226 SceneState.Set( mVal.GetSubValue( 1 ).Text());
229 m_SceneStates[i_scene_states] = SceneState;
249 return pEffect->
GetId();
261 for(
int i=0; i<(int)m_EffectManager.
AllEffects().Count(); i++ ) {
276 if ( childFx->
GetName()==
"scene" ) {
303 if (i_state>0)
return i_state;
311 int i_next_state = i_state + 1;
313 if (0<=i_next_state && i_next_state<m_n_scene_states) {
320 i_next_state = m_n_scene_states-1;
334 if (i_state >= m_n_scene_states)
return -1;
343 for( key=0; key<(int)m_EffectManager.
AllEffects().Count(); key++) {
345 pEffect = m_EffectManager.
AllEffects().Get(key);
353 if (SceneState.
m_action==
"showall") {
360 for( key=0; key<(int)SceneState.
m_SceneKeys.Count(); key++) {
409 bool pre_effect_on =
false;
415 glMatrixMode( GL_MODELVIEW );
420 for(i=1 ; i<m_EffectManager.
PreEffects().Count(); i++ ) {
421 pEffect = m_EffectManager.
PreEffects().GetRef(i);
424 pre_effect_on =
true;
440 if( m_EffectManager.
PreEffects().Count()>0 ) {
441 pEffect = m_EffectManager.
PreEffects().GetRef(0);
467 for( i=0; i<m_EffectManager.
Effects().Count(); i++ ) {
469 pEffect = m_EffectManager.
Effects().GetRef(i);
488 for(i=0;i<m_EffectManager.
PostEffects().Count();i++) {
513 glMatrixMode(GL_PROJECTION);
516 glMatrixMode(GL_MODELVIEW);
545 StateDefault.
AddSubValue(
"<moSceneState action=\"showall\"/>",
"XML");
553 return p_configdefinition;
virtual void Deactivate()
int Set(const moText &p_XmlText)
virtual MOboolean PreInit()
moDefineDynamicArray(moKeys) int moKeyEffect
moEffect * New(moMobDefinition &p_MobDefinition)
Genera un nuevo efecto a partir de la definición
#define MO_CFG_EFFECT_PRE
const moText & GetLabelName() const
moResourceManager * GetResourceManager()
moEffectManager * m_pEffectManager
#define MO_MOLDEOSCENEOBJECTS_OFFSET_ID
scene objects are recursive sub-scene-fx's
moEffectsArray & Effects()
void SetName(const moText &p_name)
#define moDefineParamIndex(X, Y)
virtual void Start()
Inicia el temporizador.
virtual bool Activated() const
value type: NUM or FUNCTION
bool NextValue()
Selecciona el próximo valor del parámetro actual.
virtual void LoadCodes(moIODeviceManager *)
moRenderManager * GetRenderMan()
moEffectsArray & AllEffects()
void LoadCodes(moIODeviceManager *)
int SetSceneState(int i_state)
MOint Int(moParamReference p_paramreference)
Acceso rápido a un valor entero.
MOboolean RenderResEqualScreenRes()
const moText & GetName() const
#define MO_RENDER_RESOLUTION
moConfigDefinition * GetDefinition(moConfigDefinition *p_configdefinition)
virtual MOboolean Finish()
Finaliza el objeto, libera recursos.
void AddSubValue(const moText &strvalue, moValueType p_valuetype)
virtual void BeginDraw(moTempo *, moEffectState *parentstate=NULL)
definición de todos los parámetros a encontrar o a crear dentro del moConfig
void DrawTexture(MOint p_resolution, MOint p_tex_num)
MOboolean IsRenderToFBOEnabled()
clase de para manejar textos
virtual const moEffectState & GetEffectState()
Clase Base Descriptiva de un Objeto Moldeo.
virtual MOboolean Init()
Inicializa el objeto.
virtual moConfigDefinition * GetDefinition(moConfigDefinition *p_configdefinition=NULL)
void Interaction(moIODeviceManager *)
void SetMoldeoFatherId(MOint p_moldeoid)
Fija el identificador del padre de este objeto.
static void Log(moText p_text)
Escribe un mensaje en el archivo de registro (log)
const moMobDefinition & GetMobDefinition() const
moConfig m_Config
Configuración de parámetros del objeto.
virtual void Update(moEventList *p_EventList)
moEffectState m_EffectState
moPostEffectsArray & PostEffects()
#define MO_CFG_EFFECT_LABEL
virtual MOboolean Init()=0
void SetMoldeoId(MOint p_moldeoid)
Fija el identificador de este objeto.
bool SetCurrentParam(const moText &p_param_name)
Clase Base para Objetos Moldeo ( moEffect, moIODevice, moResource, moConsole )
Objeto dibujable, pre-efecto ( primeros efectos en el orden de dibujado )
virtual MOboolean PreFinish()
virtual void Update(moEventList *p_EventList)
moResourceManager * m_pResourceManager
Objeto dibujable, efecto ( efectos en el orden de dibujado )
virtual bool SetEffectState(const moEffectState &p_state)
static moDebug * MODebug2
Clase de impresión de errores para depuración
void SetCurrentPreConf(MOint p_actual)
Posiciona la preconfiguración actual en el índice indicado.
int NextSceneState(int i_state)
void SetFatherLabelName(const moText &p_labelname)
Fija la etiqueta del padre de este objeto.
void Add(const moText &p_name, moParamType p_type, int p_index=-1, const moValue &p_defaultvalue=moValue("INVALID", MO_VALUE_UNDEFINED), const moText &p_OptionsStr=moText(""))
Agrega la definición de un parámetro con un valor predeterminado a tomar.
moPreEffectsArray & PreEffects()
int UpdateMoldeoIds(moMoldeoObjects &p_MoldeoSceneObjects)
LIBMOLDEO_API moText0 IntToStr(int a)
void SetMobDefinition(const moMobDefinition &p_MobDef)
moParam & GetCurrentParam()
Devuelve el parámetro actualmente seleccionado.
clase base para objetos dibujables
virtual void Draw(moTempo *, moEffectState *parentstate=NULL)=0
void Draw(moTempo *, moEffectState *parentstate=NULL)
MOuint GetValuesCount() const
int Set(const moText &p_XmlText)
moValue & GetCurrentValue()
Devuelve el valor actual del parámetro actual.
void Message(moText p_text)
Anuncia un mensaje al usuario además de guardarlo en el log de texto.
bool FirstValue()
Selecciona el primer valor del parámetro actual.
void SetType(moMoldeoObjectType p_type)
moEffect * GetEffectByLabel(const moText &p_label_name, moMoldeoObjectType p_mob_type=MO_OBJECT_UNDEFINED)
#define MO_CFG_EFFECT_CONFIG
int UpdateSceneState(int i_state)
int GetObjectId(moText p_label_name)