105 if ( pdef.
GetName() == p_param_name )
123 if ( pdef.
GetName() == p_name ) {
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()) ) {
254 moText fieldSeparation =
",";
271 m_ConfigLoaded =
false;
272 m_PreconfActual = -1;
281 return m_ConfigLoaded;
288 if ( GetConfigDefinition()!=NULL) {
290 for(
MOuint i = 0; i < GetConfigDefinition()->GetParamDefinitions()->Count(); i++ ) {
309 for(
MOuint j=0; j< m_ConfigDefinition.GetParamDefinitions()->Count(); j++ ) {
310 moParamDefinitions* pd = m_ConfigDefinition.GetParamDefinitions();
318 int real_idx = GetParamIndex( paramDefName );
327 moParam& pParamLoaded( GetParam(real_idx) );
331 pParamLoaded.
FixType( paramDefType );
344 for(
MOuint i=0; i< m_Params.Count(); i++ ) {
348 for(
MOuint j=0; j< m_ConfigDefinition.GetParamDefinitions()->Count(); j++ ) {
350 moParamDefinitions* pd = m_ConfigDefinition.GetParamDefinitions();
370 for(
MOuint j=0; j< m_ConfigDefinition.GetParamDefinitions()->Count(); j++ ) {
372 moParamDefinitions* pd = m_ConfigDefinition.GetParamDefinitions();
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() );
557 xvalue.AddSubValue( subvaluedata, subvaluetype );
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");
795 PREVALUE->SetAttribute(
"name", GetParam( xPreIndex.
m_ParamIndex ).GetParamDefinition().GetName() );
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;
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;
861 if (this->IsConfigLoaded()) {
862 cout <<
"moConfig::CreateDefault > config has information already (is loaded) " << endl;
867 moParamDefinitions* pParamDefinitions = NULL;
869 pParamDefinitions = this->GetConfigDefinition()->GetParamDefinitions();
871 if (pParamDefinitions) {
873 this->UnloadConfig();
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++ ) {
1004 return m_Params.Count();
1010 for(
MOuint i=0; i< m_Params.Count(); i++ ) {
1020 return m_Params.Get( p_paramindex ).GetValuesCount();
1026 moParam& param( GetParam( nameparam ));
1028 return param.
GetValue( indexvalue );
1034 moParam& param( GetParam( indexparam ));
1036 return param.
GetValue( indexvalue );
1043 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1050 moParam& param(GetParam(p_param_name));
1057 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1064 moParam& param(GetParam(p_param_name));
1071 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1078 moParam& param(GetParam(p_param_name));
1085 moParam& param(GetParam(p_param_index));
1093 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1110 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1127 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1130 return pdata->
Eval( x );
1139 moParam& param( GetParam(p_param_name) );
1142 return pdata->
Eval( x );
1151 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1154 return pdata->
Eval();
1162 moParam& param( GetParam(p_param_name) );
1165 return pdata->
Eval();
1173 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1176 return pdata->
GetGLId( p_object, p_tempo, p_fade, p_filterparam );
1183 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1186 return pdata->
GetGLId( p_object, p_tempo );
1194 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1197 return pdata->
GetGLId( p_object );
1205 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1208 return pdata->
GetGLId( p_cycle, p_fade, p_filterparam );
1215 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1218 return pdata->
GetGLId( p_tempo, p_fade, p_filterparam );
1225 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1228 return pdata->
GetGLId( p_i, p_fade, p_filterparam );
1235 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1238 return pdata->
GetGLId( p_fade, p_filterparam );
1247 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1251 return pdata->
GetGLId( p_cycle, 1.0, filterparam );
1258 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1262 return pdata->
GetGLId( p_tempo, 1.0, filterparam );
1269 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1273 return pdata->
GetGLId( p_i, 1.0, filterparam );
1280 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1284 return pdata->
GetGLId( 1.0, filterparam );
1291 if ( p_paramreference.
reference == -1 ) {
1295 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1308 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1322 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1326 if (pTextureBuffer) {
1327 return *pTextureBuffer;
1330 return (*m_pTextureBuffer);
1337 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1352 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1360 return (*m_pVector2d);
1367 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1375 return (*m_pVector2i);
1382 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1390 return (*m_pVector3d);
1397 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1405 return (*m_pVector3i);
1412 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1420 return (*m_pVector4d);
1428 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1436 return (*m_pVector4i);
1443 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1451 return (*m_pMessage);
1455 const moDataMessages&
1458 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1461 moDataMessages* pVector = pdata->
Messages();
1466 return (*m_pMessages);
1473 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1488 moParam& param( GetParam( m_ConfigDefinition.ParamIndexes().GetRef(p_paramreference.
reference) ));
1496 return (*m_pTexture);
1502 p_paramindex,
int p_valueindex ) {
1503 m_Params[p_paramindex].SetIndexValue( p_valueindex );
1508 return m_Params.Get( p_paramindex ).GetIndexValue();
1513 return m_Params[m_CurrentParam].GetValue();
1518 return m_Params[m_CurrentParam];
1524 return m_CurrentParam;
1529 if ( 0<=p_currentparam
1530 && p_currentparam<(
int)m_Params.Count()) {
1531 m_CurrentParam = p_currentparam;
1539 if ( m_Params.Count()>0 ) {
1541 }
else m_CurrentParam = -1;
1546 if ( m_Params.Count()>0 ) {
1547 if ( m_CurrentParam < ( (
MOint)m_Params.Count()-1 ) ) {
1550 }
else m_CurrentParam = -1;
1555 if ( m_Params.Count() > 0 ) {
1556 if ( m_CurrentParam > 0 ) {
1559 }
else m_CurrentParam = -1;
1564 if ( m_CurrentParam>=0 ) {
1565 moParam& pParam( m_Params[m_CurrentParam] );
1577 if ( m_CurrentParam>=0 ) {
1578 moParam& pParam( m_Params[m_CurrentParam] );
1590 if ( m_CurrentParam>=0 ) {
1591 moParam& pParam( m_Params[m_CurrentParam] );
1605 return &m_ConfigDefinition;
1613 return m_PreConfigs.Count();
1618 return m_PreconfActual;
1623 if(0<=p_actual && p_actual<(
MOint)m_PreConfigs.Count())
1625 for(
MOuint i=0; i<m_PreConfigs[p_actual].m_PreconfIndexes.Count(); i++) {
1629 m_PreconfActual = p_actual;
1635 if(m_PreConfigs.Count()>0)
1636 SetCurrentPreConf( 0 );
1641 if( m_PreconfActual!=-1 && (m_PreconfActual<((
MOint)m_PreConfigs.Count()-1)) )
1642 SetCurrentPreConf( ++m_PreconfActual );
1647 if(m_PreconfActual!=-1 && m_PreconfActual>0)
1648 SetCurrentPreConf( --m_PreconfActual );
1655 GetParam( paramindex ).AddValue( p_value );
1661 GetParam( paramindex ).GetValues().Insert( valueindex, p_value );
1667 GetParam( paramindex ).GetValue( valueindex ) = p_value;
1674 GetParam( paramindex ).DeleteValue( valueindex );
1681 if (0<=valueindex && valueindex<GetPreConfCount() ) {
1682 return m_PreConfigs.Get( valueindex );
1684 return m_PreConfigs.Get(-1);
1689 m_PreConfigs.Add(
moPreConfig( p_preconfindexes ) );
1695 int new_preconfigs = preconfig_index - GetPreConfCount() + 1;
1700 if (new_preconfigs>0) {
1701 int base_index = GetPreConfCount();
1703 for(
int sum=0; sum < new_preconfigs ; sum++ ) {
1709 for(
int pi=0; pi < GetParamsCount(); pi++) {
1710 moParam& rParam2( GetParam(pi) );
1711 int nvalues = GetParam(pi).GetValuesCount();
1712 min_index = nvalues - 1;
1720 preIndexA.
m_ValueIndex = momin( min_index, base_index+sum );
1736 m_PreConfigs.Insert( valueindex,
moPreConfig( p_preconfindexes ) );
1741 m_PreConfigs.Set( valueindex,
moPreConfig( p_preconfindexes ) );
1746 m_PreConfigs.Remove( valueindex );
1752 moText fieldSeparation =
",";
1756 m_FullJSON+=
"'configdefinition': " + this->GetConfigDefinition()->ToJSON();
1757 m_FullJSON+= fieldSeparation +
"'currentpreconfig':" +
IntToStr( this->GetCurrentPreConf() );
1758 m_FullJSON+= fieldSeparation +
"'parameters': {";
1760 fieldSeparation =
"";
1762 for(
int p=0; p<(int)m_Params.Count();p++) {
1770 fieldSeparation =
",";
1776 fieldSeparation =
",";
1777 m_FullJSON+= fieldSeparation +
"'preconfigs': [";
1778 fieldSeparation =
"";
1779 for(
int pre=0; pre<(int)m_PreConfigs.Count();pre++) {
1783 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 moMathFunction * m_pFun
static moVector3d * m_pVector3d
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.
const moText & GetObjectClass()
Devuelve el nombre de la clase del objeto asociado a este config.
GLint GetGLId(moParamReference p_paramreference, moMoldeoObject *p_object, moTempo *p_tempo, MOfloat p_fade, const moTextFilterParam &p_filterparam)
Acceso r�pido a los datos de una textura.
moVector4< MOlong > moVector4i
void SetOptions(const moTextArray &p_options)
static moVector3i * m_pVector3i
const moText & ToJSON()
Devuelve la estructura del config en formato JSON.
const moText & GetName() const
void Error(moText p_text)
Anuncia y registra un error.
static moDataMessages * m_pMessages
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)
moText GetCodeName() const
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 Set(moText p_objectname, moText p_objectclass)
Fija el nombre y la clase del objeto a configurar.
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.
static moTexture * m_pTexture
LIBMOLDEO_API moText0 FloatToStr(double a)
MOdouble Double(moParamReference p_paramreference)
Acceso r�pido a un valor double.
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 moText & GetObjectName()
Devuelve el nombre del objeto asociado a este config.
const moFont & Font(moParamReference p_paramreference)
MOint Int(moParamReference p_paramreference)
Acceso r�pido a un valor entero.
virtual ~moConfig()
Destructor.
int GetIndexValue() const
void Replace(const moText0 &target, const moText0 &replacement)
const moVector3i & Vector3i(moParamReference p_paramreference)
moParamType GetType() const
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.
const moText & GetGroup() const
moParamIndexes m_ParamIndexes
void SetValue(int paramindex, int valueindex, moValue &p_value)
Fija un valor.
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
moDataMessages * Messages()
MOuint GetValuesCount() const
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.
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.
const moValueDefinition & GetValueDefinition() const
Devuelve una referencia a la definición del valor [ nombre de codigo, rango, tipo, índice ].
static moVector4i * m_pVector4i
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.
static moDataMessage * m_pMessage
const moText & GetProperty() const
moDataMessage * Message()
Clase Base para Objetos Moldeo ( moEffect, moIODevice, moResource, moConsole )
static moTextureBuffer * m_pTextureBuffer
static moVector4d * m_pVector4d
moConfigDefinition & operator=(const moConfigDefinition &p_src)
assignment copy operator
clase base para el manejo de una textura
int GetParamsCount()
Devuelve la cantidad de par�metros de la configurac��n.
#define MO_PARAM_NOT_FOUND
const moVector4d & Vector4d(moParamReference p_paramreference)
void CreateParam(moParamDefinition &p_ParamDef)
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�metr...
moParamInterpolation & GetInterpolation()
moConfigDefinition * GetConfigDefinition()
Devuelve el puntero al objeto de definici�n de la configuraci�n.
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. ...
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)
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.
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...
moConfigDefinition()
constructor
static moVector2d * m_pVector2d
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
int SaveConfig(moText p_filename=moText(""))
Guarda la configuracion en un archivo f�sico.
int GetCurrentParamIndex() const
Devuelve el �ndice del par�metro actualmente seleccionado.
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
static moFont * m_pFont
solo para poder devolver una referencia
void SetValueDefinition(moValueDefinition &p_valuedefinition)
Fija la definición del valor [ nombre de codigo, rango, tipo, índice ].
bool SetCurrentParamIndex(int)
Selecciona el par�metro por el �ndice.
bool SetIndex(moText p_name, MOint p_index)
static moSound * m_pSound
void FirstParam()
Selecciona el primer par�metro.
MOuint GetSubValueCount()
const moParamDefinition & GetParamDefinition(const moText &p_param_name)
virtual ~moConfigDefinition()
destructor
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.
static moVector2i * m_pVector2i
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()
moParamDefinitions m_ParamDefinitions
static moSceneNode * m_pModel
moText Text(moParamReference p_paramreference)
Acceso r�pido a un valor de texto.
moText GetTypeStr() const
moText GetTypeStr() const
Devuelve el tipo en formato texto.