54 moDataMessages* moConfig::m_pMessages =
new moDataMessages();
79 m_ParamDefinitions = p_src.m_ParamDefinitions;
80 m_ParamIndexes = p_src.m_ParamIndexes;
81 m_ObjectName = p_src.m_ObjectName;
82 m_ObjectClass = p_src.m_ObjectClass;
83 m_FullJSON = p_src.m_FullJSON;
90 for(
MOuint i = 0; i < m_ParamDefinitions.Count(); i++ ) {
103 for( i = 0; i < m_ParamDefinitions.Count(); i++ ) {
105 if ( pdef.
GetName() == p_param_name )
106 return m_ParamDefinitions[i];
109 return m_ParamDefinitions.Get(-1);
121 for(
MOuint i = 0; i < m_ParamDefinitions.Count(); i++ ) {
122 pdef = m_ParamDefinitions[i];
123 if ( pdef.
GetName() == p_name ) {
131 m_ParamIndexes.Add( p_index );
142 MODebug2->
Error( p_name +
" already defined in " + m_ObjectName );
185 m_ParamDefinitions.Add( pdef );
187 m_ParamIndexes.Add( p_index );
225 if (defined_array_index==-1) {
226 MODebug2->
Error(
"moConfigDefinition::SetParamIndex in [" + m_ObjectName +
"] > defined array entry index is -1 (undefined).");
230 if ( ! ( 0 <= defined_array_index && defined_array_index < (
int)m_ParamIndexes.Count()) ) {
241 MODebug2->
Error(
moText(
"moConfigDefinition::SetParamIndex[" + m_ObjectName +
"] > moParamIndex undefined : ")
246 m_ParamIndexes.Set( defined_array_index , paramindex );
254 moText fieldSeparation =
",";
257 m_FullJSON+=
"'objectname': '" + this->m_ObjectName +
"'";
258 m_FullJSON+= fieldSeparation +
"'objectclass': '" + this->m_ObjectClass +
"'";
271 m_ConfigLoaded =
false;
272 m_PreconfActual = -1;
281 return m_ConfigLoaded;
331 pParamLoaded.
FixType( paramDefType );
344 for(
MOuint i=0; i< m_Params.Count(); i++ ) {
381 moParam& param( m_Params[pdefindex] );
394 vb.SetValueDefinition( vd );
404 TiXmlDocument m_XMLDocument;
405 TiXmlEncoding xencoding = TIXML_ENCODING_LEGACY;
417 cout <<
"XML DOM about to load..." << endl;
419 if (m_XMLDocument.LoadFile( (
char *) p_filename, xencoding )) {
422 cout <<
"XML DOM loaded" << endl;
424 TiXmlHandle docHandle( &m_XMLDocument );
426 TiXmlElement* MOCONFIG = docHandle.FirstChild(
"MOCONFIG" ).Element();
430 MOCONFIG->QueryIntAttribute(
"majorversion", &((
int&)m_MajorVersion));
431 MOCONFIG->QueryIntAttribute(
"minorversion", &((
int&)m_MinorVersion));
433 TiXmlNode* NODEDEFINITION = MOCONFIG->FirstChild(
"DEFINITION" );
434 TiXmlElement* DEFINITION = NULL;
435 if (NODEDEFINITION) {
436 DEFINITION = NODEDEFINITION->ToElement();
439 moText objectname( (
char*)DEFINITION->Attribute(
"name" ) );
440 moText objectclass( (
char*) DEFINITION->Attribute(
"class" ));
441 Set( objectname, objectclass );
444 TiXmlNode* NODEUPDATE = MOCONFIG->FirstChild(
"UPDATE" );
445 TiXmlElement* UPDATE = NULL;
447 UPDATE = NODEUPDATE->ToElement();
449 moText version = UPDATE->Attribute(
"");
453 TiXmlNode* NODECONFIGPARAMS = MOCONFIG->FirstChild(
"CONFIGPARAMS" );
454 TiXmlElement* CONFIGPARAMS = NULL;
455 if (NODECONFIGPARAMS) {
456 CONFIGPARAMS = NODECONFIGPARAMS->ToElement();
459 TiXmlNode* NODEPARAM = CONFIGPARAMS->FirstChild(
"PARAM");
460 TiXmlElement* PARAM = NULL;
462 PARAM = NODEPARAM->ToElement();
468 resStr = ((
char*) PARAM->Attribute(
"name"));
469 if (resStr) paramname = resStr;
472 resStr = ((
char*) PARAM->Attribute(
"type"));
473 if (resStr) paramtype = resStr;
476 resStr = ((
char*) PARAM->Attribute(
"property"));
477 if (resStr) paramproperty = resStr;
480 resStr = ((
char*) PARAM->Attribute(
"group"));
481 if (resStr) paramgroup = resStr;
483 moText paraminterpolation;
484 resStr = ((
char*) PARAM->Attribute(
"interpolation"));
485 if (resStr) paraminterpolation = resStr;
488 resStr = ((
char*) PARAM->Attribute(
"duration"));
489 if (resStr) paramduration = resStr;
492 resStr = ((
char*) PARAM->Attribute(
"options"));
493 if (resStr) paramoptions = resStr;
496 moParamDefinition definition( paramname, paramtype, paramproperty, paramgroup, paraminterpolation, paramduration, paramoptions );
499 TiXmlElement* VALUE = NULL;
500 TiXmlNode* NODE = PARAM->FirstChild(
"VAL");
502 VALUE = NODE->ToElement();
506 TiXmlElement* VALUEDATA = NULL;
507 TiXmlNode* NODEDATA = VALUE->FirstChild(
"D");
508 if (NODEDATA) VALUEDATA = NODEDATA->ToElement();
511 moText valuetype( (
char*) VALUEDATA->Attribute(
"type") );
512 moText valuecodename( (
char*) VALUEDATA->Attribute(
"code") );
513 moText valueattribute( (
char*) VALUEDATA->Attribute(
"attribute") );
514 moText valuemin( (
char*) VALUEDATA->Attribute(
"min") );
515 moText valuemax( (
char*) VALUEDATA->Attribute(
"max") );
516 moText valuedata( (
char*) VALUEDATA->GetText() );
518 if (valuetype==
"XML") {
519 TiXmlPrinter printer;
520 TiXmlNode* NODEDATAXML = VALUEDATA->FirstChild();
522 NODEDATAXML->Accept( &printer );
523 valuedata =
moText( printer.CStr() );
527 moValue xvalue( valuedata, valuetype );
532 xvbase.SetAttribute( valueattribute );
533 xvbase.SetRange( valuemin, valuemax );
537 VALUEDATA = VALUEDATA->NextSiblingElement(
"D");
541 moText subvaluetype( (
char*) VALUEDATA->Attribute(
"type") );
542 moText subvaluecodename( (
char*) VALUEDATA->Attribute(
"code") );
543 moText subvalueattribute( (
char*) VALUEDATA->Attribute(
"attribute") );
544 moText subvaluemin( (
char*) VALUEDATA->Attribute(
"min") );
545 moText subvaluemax( (
char*) VALUEDATA->Attribute(
"max") );
546 moText subvaluedata( (
char*) VALUEDATA->GetText() );
548 if (subvaluetype==
"XML") {
549 TiXmlPrinter printer;
550 TiXmlNode* NODEDATAXML = VALUEDATA->FirstChild();
552 NODEDATAXML->Accept( &printer );
553 subvaluedata =
moText( printer.CStr() );
562 xxvbase.SetAttribute( subvalueattribute );
563 xxvbase.SetRange( subvaluemin, subvaluemax );
565 VALUEDATA = VALUEDATA->NextSiblingElement(
"D");
570 VALUE = VALUE->NextSiblingElement(
"VAL");
575 m_Params.Add( xparam );
577 PARAM = PARAM->NextSiblingElement(
"PARAM");
582 TiXmlNode* PRECONFIGSNODE = MOCONFIG->FirstChild(
"PRECONFIGS" );
583 TiXmlElement* PRECONFIGS = NULL;
584 if (PRECONFIGSNODE) {
585 PRECONFIGS = PRECONFIGSNODE->ToElement();
591 TiXmlNode* PRECONFIGNODE = PRECONFIGS->FirstChild(
"PRE");
592 TiXmlElement* PRECONFIG = NULL;
594 PRECONFIG = PRECONFIGNODE->ToElement();
598 TiXmlElement* PREVALUE = NULL;
599 TiXmlNode* NODE = PRECONFIG->FirstChild(
"P");
602 PreConfig.
m_Name =
moText((
char*) PRECONFIG->Attribute(
"name"));
605 PREVALUE = NODE->ToElement();
611 moText paramname((
char*) PREVALUE->Attribute(
"name"));
619 PREVALUE = PREVALUE->NextSiblingElement(
"P");
623 m_PreConfigs.Add( PreConfig );
624 PRECONFIG = PRECONFIG->NextSiblingElement(
"PRE");
631 m_FileName = p_filename;
632 m_ConfigLoaded =
true;
643 if (m_XMLDocument.Error()) {
648 m_ConfigLoaded =
false;
655 if (p_filename.
Length()==0) {
656 p_filename = this->m_FileName;
659 cout <<
"moConfig::SaveConfig > filename is " << p_filename << endl;
663 TiXmlDocument m_XMLDocument( p_filename );
665 TiXmlDeclaration * DECL =
new TiXmlDeclaration(
"1.0",
"ISO-8859-1",
"" );
666 m_XMLDocument.LinkEndChild( DECL );
668 TiXmlElement * MOCONFIG =
new TiXmlElement(
"MOCONFIG" );
672 MOCONFIG->SetAttribute(
"majorversion", m_MajorVersion);
673 MOCONFIG->SetAttribute(
"minorversion", m_MinorVersion);
675 TiXmlElement* DEFINITION =
new TiXmlElement(
"DEFINITION" );
680 MOCONFIG->LinkEndChild(DEFINITION);
682 TiXmlElement* UPDATE =
new TiXmlElement(
"UPDATE" );
683 MOCONFIG->LinkEndChild(UPDATE);
685 TiXmlElement* CONFIGPARAMS =
new TiXmlElement(
"CONFIGPARAMS" );
688 for(
int p = 0; p< (int)m_Params.Count(); p++ ) {
691 moParam& xparam( m_Params[p] );
694 TiXmlElement* PARAM =
new TiXmlElement(
"PARAM" );
697 PARAM->SetAttribute(
"name" , definition.
GetName() );
698 PARAM->SetAttribute(
"type" , definition.
GetTypeStr() );
717 TiXmlElement* VALUE =
new TiXmlElement(
"VAL");
719 for(
int s = 0; s< (int)xvalue.GetSubValueCount(); s++ ) {
724 TiXmlElement* VALUEDATA =
new TiXmlElement(
"D");
727 VALUEDATA->SetAttribute(
"type" , xvaluedata.GetTypeStr() );
729 moText valuecodename = xvaluedata.GetValueDefinition().GetCodeName();
730 moText valueattribute = xvaluedata.GetValueDefinition().GetAttribute();
732 xvaluedata.GetRange( &valuemin, &valuemax );
734 if ( valuecodename !=
moText(
"") ) VALUEDATA->SetAttribute(
"code" , valuecodename );
735 if ( valueattribute !=
moText(
"") ) VALUEDATA->SetAttribute(
"attribute" , valueattribute );
736 if ( valuemin != valuemax ) {
737 VALUEDATA->SetAttribute(
"min" ,
FloatToStr( valuemin ) );
738 VALUEDATA->SetAttribute(
"max" ,
FloatToStr( valuemax ) );
740 if (xvaluedata.GetTypeStr()==
"XML") {
741 TiXmlDocument XMLDoc;
742 TiXmlEncoding xencoding = TIXML_ENCODING_LEGACY;
743 XMLDoc.Parse((
const char*) xvaluedata.Text(), 0, xencoding );
744 TiXmlElement* rootKey = XMLDoc.FirstChildElement(
"D" );
748 XMLC = XMLDoc.FirstChild();
749 }
else XMLC = rootKey->FirstChild();
753 TNodeValue = XMLC->Value();
754 VALUEDATA->InsertEndChild( *XMLC );
755 XMLC = XMLC->NextSibling();
758 TiXmlText * datatext =
new TiXmlText( xvaluedata.ToText() );
759 VALUEDATA->LinkEndChild( datatext );
764 VALUE->LinkEndChild( VALUEDATA );
767 PARAM->LinkEndChild(VALUE);
770 CONFIGPARAMS->LinkEndChild( PARAM );
773 MOCONFIG->LinkEndChild( CONFIGPARAMS );
776 TiXmlElement* PRECONFIGS =
new TiXmlElement(
"PRECONFIGS" );
779 for(
int pc=0; pc< (int)m_PreConfigs.Count(); pc++) {
783 TiXmlElement* PRECONFIG =
new TiXmlElement(
"PRE");
790 TiXmlElement* PREVALUE =
new TiXmlElement(
"P");
800 PREVALUE->LinkEndChild( datatext );
803 PRECONFIG->LinkEndChild( PREVALUE );
805 PRECONFIGS->LinkEndChild( PRECONFIG );
808 MOCONFIG->LinkEndChild( PRECONFIGS );
810 m_XMLDocument.LinkEndChild( MOCONFIG );
813 cout <<
"moConfig::SaveConfig > saving file to " << p_filename << endl;
814 if (m_XMLDocument.SaveFile( p_filename )) {
815 cout <<
"moConfig::SaveConfig > success " << endl;
816 m_FileName = p_filename;
819 cout <<
"moConfig::SaveConfig > ERROR " << endl;
837 xparam.SetDefaultValue();
839 m_Params.Add( xparam );
842 moParam& pParam( m_Params[m_Params.Count()-1] );
844 p_ParamDef.
SetIndex(m_Params.Count()-1);
850 moFile cFile( p_fullconfigfilename );
853 pt = p_fullconfigfilename;
857 cout <<
"moConfig::CreateDefault > file already exists " << pt << endl;
862 cout <<
"moConfig::CreateDefault > config has information already (is loaded) " << endl;
867 moParamDefinitions* pParamDefinitions = NULL;
871 if (pParamDefinitions) {
875 cout <<
"moConfig::CreateDefault > Loading default ParamDefinition in moConfig : number of params : " << pParamDefinitions->Count() << endl;
876 for(
int i=0; i<(int)pParamDefinitions->Count() ; i++) {
880 CreateParam( pParamDefinition );
883 cout <<
"moConfig::CreateDefault > Saving Config to disk..." << endl;
885 cout <<
"moConfig::CreateDefault > Saved Config Succesfully " << endl;
888 cout <<
"moConfig::CreateDefault > Error Saving Config to disk " << endl;
892 cout <<
"moConfig::CreateDefault > Errors occured " << endl;
902 m_ConfigLoaded =
false;
973 return moText(
"unloaded");
985 if ( p_paramindex == -1 )
986 return m_Params[m_CurrentParam];
988 return m_Params[p_paramindex];
994 for(
MOuint i=0; i< m_Params.Count(); i++ ) {
995 if ( m_Params[i].GetParamDefinition().GetName() == p_paramname ) {
1004 return m_Params.Count();
1010 for(
MOuint i=0; i< m_Params.Count(); i++ ) {
1011 if ( m_Params[i].GetParamDefinition().GetName() == p_paramname ) {
1020 return m_Params.Get( p_paramindex ).GetValuesCount();
1028 return param.
GetValue( indexvalue );
1036 return param.
GetValue( indexvalue );
1130 return pdata->
Eval( x );
1142 return pdata->
Eval( x );
1154 return pdata->
Eval();
1165 return pdata->
Eval();
1177 return pdata->
GetGLId( p_cycle, p_fade, p_filterparam );
1187 return pdata->
GetGLId( p_tempo, p_fade, p_filterparam );
1197 return pdata->
GetGLId( p_i, p_fade, p_filterparam );
1207 return pdata->
GetGLId( p_fade, p_filterparam );
1220 return pdata->
GetGLId( p_cycle, 1.0, filterparam );
1231 return pdata->
GetGLId( p_tempo, 1.0, filterparam );
1242 return pdata->
GetGLId( p_i, 1.0, filterparam );
1253 return pdata->
GetGLId( 1.0, filterparam );
1260 if ( p_paramreference.
reference == -1 ) {
1295 if (pTextureBuffer) {
1296 return *pTextureBuffer;
1299 return (*m_pTextureBuffer);
1329 return (*m_pVector2d);
1344 return (*m_pVector2i);
1359 return (*m_pVector3d);
1374 return (*m_pVector3i);
1389 return (*m_pVector4d);
1405 return (*m_pVector4i);
1420 return (*m_pMessage);
1424 const moDataMessages&
1430 moDataMessages* pVector = pdata->
Messages();
1435 return (*m_pMessages);
1465 return (*m_pTexture);
1471 p_paramindex,
int p_valueindex ) {
1472 m_Params[p_paramindex].SetIndexValue( p_valueindex );
1477 return m_Params.Get( p_paramindex ).GetIndexValue();
1482 return m_Params[m_CurrentParam].GetValue();
1487 return m_Params[m_CurrentParam];
1493 return m_CurrentParam;
1498 if ( 0<=p_currentparam
1499 && p_currentparam<(
int)m_Params.Count()) {
1500 m_CurrentParam = p_currentparam;
1508 if ( m_Params.Count()>0 ) {
1510 }
else m_CurrentParam = -1;
1515 if ( m_Params.Count()>0 ) {
1516 if ( m_CurrentParam < ( (
MOint)m_Params.Count()-1 ) ) {
1519 }
else m_CurrentParam = -1;
1524 if ( m_Params.Count() > 0 ) {
1525 if ( m_CurrentParam > 0 ) {
1528 }
else m_CurrentParam = -1;
1533 if ( m_CurrentParam>=0 ) {
1534 moParam& pParam( m_Params[m_CurrentParam] );
1546 if ( m_CurrentParam>=0 ) {
1547 moParam& pParam( m_Params[m_CurrentParam] );
1559 if ( m_CurrentParam>=0 ) {
1560 moParam& pParam( m_Params[m_CurrentParam] );
1574 return &m_ConfigDefinition;
1582 return m_PreConfigs.Count();
1587 return m_PreconfActual;
1592 if(0<=p_actual && p_actual<(
MOint)m_PreConfigs.Count())
1594 for(
MOuint i=0; i<m_PreConfigs[p_actual].m_PreconfIndexes.Count(); i++) {
1598 m_PreconfActual = p_actual;
1604 if(m_PreConfigs.Count()>0)
1610 if( m_PreconfActual!=-1 && (m_PreconfActual<((
MOint)m_PreConfigs.Count()-1)) )
1616 if(m_PreconfActual!=-1 && m_PreconfActual>0)
1651 return m_PreConfigs.Get( valueindex );
1653 return m_PreConfigs.Get(-1);
1658 m_PreConfigs.Add(
moPreConfig( p_preconfindexes ) );
1669 if (new_preconfigs>0) {
1672 for(
int sum=0; sum < new_preconfigs ; sum++ ) {
1681 min_index = nvalues - 1;
1689 preIndexA.
m_ValueIndex = momin( min_index, base_index+sum );
1705 m_PreConfigs.Insert( valueindex,
moPreConfig( p_preconfindexes ) );
1710 m_PreConfigs.Set( valueindex,
moPreConfig( p_preconfindexes ) );
1715 m_PreConfigs.Remove( valueindex );
1721 moText fieldSeparation =
",";
1727 m_FullJSON+= fieldSeparation +
"'parameters': {";
1729 fieldSeparation =
"";
1731 for(
int p=0; p<(int)m_Params.Count();p++) {
1739 fieldSeparation =
",";
1745 fieldSeparation =
",";
1746 m_FullJSON+= fieldSeparation +
"'preconfigs': [";
1747 fieldSeparation =
"";
1748 for(
int pre=0; pre<(int)m_PreConfigs.Count();pre++) {
1751 m_FullJSON+= fieldSeparation +
"{'n': '"+PreConfig.
m_Name+
"'}";
1752 fieldSeparation =
",";
void AddValue(int paramindex, moValue &p_value)
Agrega un valor.
const moTextureBuffer & TextureBuffer(moParamReference p_paramreference)
bool FixType(moParamType m_NewType=MO_PARAM_UNDEFINED)
static void Message(moText p_text)
Anuncia un mensaje al usuario además de guardarlo en el log de texto.
moTextArray & GetOptions()
void PreConfNext()
Selecciona el próximo valor de la preconfiguración
moVector4< MOlong > moVector4i
void SetOptions(const moTextArray &p_options)
const moText & GetObjectClass()
Devuelve el nombre de la clase del objeto asociado a este config.
const moText & ToJSON()
Devuelve la estructura del config en formato JSON.
void Error(moText p_text)
Anuncia y registra un error.
moMathFunction * Fun()
referencias a clases
clase base para una fuente 3d o 2d
moParams & GetParams()
Devuelve el puntero al arreglo de parámetros.
static bool FileExists(moText filename)
const moVector3d & Vector3d(moParamReference p_paramreference)
moValueBase & GetSubValue(MOint p_indexsubvalue=0)
MOdouble Eval(moParamReference p_paramreference, double x,...)
Acceso rápido a evaluar la función
const moVector4i & Vector4i(moParamReference p_paramreference)
MOint GetCurrentPreConf()
Devuelve el índice de la preconfiguración seleccionada.
void InsertPreconfig(int valueindex, moPreconfigIndexes &p_preconfindexes)
Inserta una pre-configuración
moTextureBuffer * TextureBuffer()
bool NextValue()
Selecciona el próximo valor del parámetro actual.
#define MO_CONFIGFILE_NOT_FOUND
void PrevParam()
Selecciona el parámetro anterior.
LIBMOLDEO_API moText0 FloatToStr(double a)
MOdouble Double(moParamReference p_paramreference)
Acceso rápido a un valor double.
const moText & GetProperty() const
void SetPreconfig(int valueindex, moPreconfigIndexes &p_preconfindexes)
Setea una pre-configuración
void PreConfFirst()
Selecciona el primer valor de la preconfiguración
static void Error(moText p_text)
Anuncia un error.
const moText & ToJSON()
Devuelve en formato texto la estructura del objeto convertida a JSON.
int GetParamIndex(moText p_paramname)
Devuelve el índice correspondiente al parámetro por nombre.
const moFont & Font(moParamReference p_paramreference)
MOint Int(moParamReference p_paramreference)
Acceso rápido a un valor entero.
virtual ~moConfig()
Destructor.
const moText & GetGroup() const
void Replace(const moText0 &target, const moText0 &replacement)
const moVector3i & Vector3i(moParamReference p_paramreference)
void SetCodeName(moText p_codename)
Fija el nombre del código para este valor.
moValue & GetDefaultValue()
const moVector2d & Vector2d(moParamReference p_paramreference)
void Warning(moText p_text)
Anuncia y registra un llamado de atencion.
void PreConfPrev()
Selecciona el valor anterior de la preconfiguración
void AddSubValue(const moText &strvalue, moValueType p_valuetype)
void SetValue(int paramindex, int valueindex, moValue &p_value)
Fija un valor.
const moValueDefinition & GetValueDefinition() const
Devuelve una referencia a la definición del valor [ nombre de codigo, rango, tipo, índice ]...
void FixConfig()
Corrige el archivo de configuración
void InsertValue(int paramindex, int valueindex, moValue &p_value)
Inserta un valor.
definición de todos los parámetros a encontrar o a crear dentro del moConfig
const moText & GetName() const
moDataMessages * Messages()
void DeleteValue(int paramindex, int valueindex)
Borra un valor.
const moDataMessages & Messages(moParamReference p_paramreference)
clase de para manejar textos
MOuint GetValuesCount(int p_paramindex)
Devuelve la cantidad de valores que contiene el parámetro indexado.
int GetIndexValue() const
moParamIndexes & ParamIndexes()
Devuelve el puntero al arreglo de índices de los parámetros.
moMathFunction & Fun(moParamReference p_paramreference)
referencias a clases
void SetCurrentValueIndex(int p_paramindex, int p_valueindex)
Posiciona el puntero de selección del valor del parámetro a la posición indicada.
bool Exists(moText p_name)
Verifica si el parametro no existe ya.
void NextParam()
Selecciona el próximo parámetro.
void DeletePreconfig(int valueindex)
Borra una pre-configuración
int LoadConfig(moText p_filename)
Lee la configuracion de un archivo.
moText GetFullText()
Devuelve el contenido completo de la configuración como texto plano.
moDataMessage * Message()
moConfigDefinition & operator=(const moConfigDefinition &p_src)
assignment copy operator
clase base para el manejo de una textura
void DeleteValue(MOint i)
int GetParamsCount()
Devuelve la cantidad de parámetros de la configuracíón.
#define MO_PARAM_NOT_FOUND
const moVector4d & Vector4d(moParamReference p_paramreference)
MOboolean CreateDefault(const moText &p_fullconfigfilename)
Devuelve true si pudo crear el archivo de configuración junto con su archivo correspondiente.
int GetCurrentValueIndex(MOint p_paramindex)
Devuelve el índice correspondiente al valor seleccionado del parámetro por índice de parámetro...
moParamInterpolation & GetInterpolation()
moConfigDefinition * GetConfigDefinition()
Devuelve el puntero al objeto de definición de la configuración
void Set(moText p_objectname, moText p_objectclass)
Fija el nombre y la clase del objeto a configurar.
bool FixOptions(moTextArray &m_NewOptions)
GLint GetGLId(MOfloat p_cycle, MOfloat p_fade, const moTextFilterParam &p_filterparam)
MOboolean IsConfigLoaded()
Indica si ha sido cargado con éxito el archivo de configuración
void DeleteConfig()
Borra la configuracion de parámetros con sus respectivos valores.
moVector3< MOdouble > moVector3d
moValue & GetValue(moText nameparam, int indexvalue=-1)
Devuelve el valor indicado por el nombre del parámetro y el índice del valor.
moParamType GetType() const
bool PreviousValue()
Selecciona el valor anterior del parámetro actual.
static moDebug * MODebug2
Clase de impresión de errores para depuración
const moVector2i & Vector2i(moParamReference p_paramreference)
moText GetTypeStr() const
Devuelve el tipo en formato texto.
value type: NUM or FUNCTION
moVector2< MOlong > moVector2i
const moSceneNode & Model(moParamReference p_paramreference)
void Indexation()
Indexa los parámetros.
const moDataMessage & Message(moParamReference p_paramreference)
void SetCurrentPreConf(MOint p_actual)
Posiciona la preconfiguración actual en el índice indicado.
moSound & Sound(moParamReference p_paramreference)
const moPreConfig & GetPreconfig(int valueindex)
Agrega una pre-configuración
void AddValue(moValue &value)
moVector2< MOdouble > moVector2d
moValue & GetValue(MOint i=-1)
moParam & GetParam(MOint p_paramindex=-1)
Devuelve el parámetro por índice.
moValueBase & GetLastSubValue()
moText GetFunctionToText()
void SetIndex(MOint p_index)
bool SetParamIndex(int defined_array_index, moParamIndex paramindex)
Fija el indice del array con el indice del parametro...
moText GetTypeStr() const
moConfigDefinition()
constructor
moParamDefinition & GetParamDefinition()
const moTexture & Texture(moParamReference p_paramreference)
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.
moVector3< MOlong > moVector3i
moText GetCodeName() const
int SaveConfig(moText p_filename=moText(""))
Guarda la configuracion en un archivo físico.
void SetDefault(const moValue &p_defaultvalue)
moPreconfigIndexes m_PreconfIndexes
LIBMOLDEO_API moText0 IntToStr(int a)
moParam & GetCurrentParam()
Devuelve el parámetro actualmente seleccionado.
void AddPreconfig(moPreconfigIndexes &p_preconfindexes)
Agrega una pre-configuración
moVector4d EvalColor(moParamReference p_paramreference)
void SetCodeName(moText p_codename)
moVector4< MOdouble > moVector4d
void SetValueDefinition(moValueDefinition &p_valuedefinition)
Fija la definición del valor [ nombre de codigo, rango, tipo, índice ].
const moText & GetObjectName()
Devuelve el nombre del objeto asociado a este config.
bool SetCurrentParamIndex(int)
Selecciona el parámetro por el índice.
bool SetIndex(moText p_name, MOint p_index)
void FirstParam()
Selecciona el primer parámetro.
MOuint GetSubValueCount()
const moParamDefinition & GetParamDefinition(const moText &p_param_name)
moParamDefinitions * GetParamDefinitions()
Devuelve el puntero al arreglo de definciones de parámetros.
virtual ~moConfigDefinition()
destructor
MOuint GetValuesCount() const
MOint GetPreConfCount()
Devuelve la cantidad de preconfiguraciones definidas.
moValue & GetCurrentValue()
Devuelve el valor actual del parámetro actual.
void UnloadConfig()
Elimina todos los parámetros anteriormente cargados.
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.
const moText & GetOptionsStr()
GLint GetGLId(moParamReference p_paramreference, MOfloat p_cycle, MOfloat p_fade, const moTextFilterParam &p_filterparam)
Acceso rápido a los datos de una textura.
int GetCurrentParamIndex() const
Devuelve el índice del parámetro actualmente seleccionado.
moText Text(moParamReference p_paramreference)
Acceso rápido a un valor de texto.