From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a03113.html | 311 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 docs/doxygen/nel/a03113.html (limited to 'docs/doxygen/nel/a03113.html') diff --git a/docs/doxygen/nel/a03113.html b/docs/doxygen/nel/a03113.html new file mode 100644 index 00000000..8e600dcb --- /dev/null +++ b/docs/doxygen/nel/a03113.html @@ -0,0 +1,311 @@ + + +NeL: NLLIGO::CPrimitiveConfigurations class Reference + + + +
+

NLLIGO::CPrimitiveConfigurations Class Reference

#include <primitive_configuration.h> +

+


Detailed Description

+Ligo primitive configuration description.

+

Author:
Cyril 'Hulud' Corvazier

+Nevrax France

+
Date:
2001
+ +

+ +

+Definition at line 49 of file primitive_configuration.h. + + + + + + + + + + + + + +

Public Member Functions

bool belong (const IPrimitive &primitive) const
bool read (xmlNodePtr configurationNode, const char *filename, const char *name, class CLigoConfig &config)

Data Fields

NLMISC::CRGBA Color
std::vector< CMatchGroupMatchPairs
std::string Name
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
bool CPrimitiveConfigurations::belong const IPrimitive primitive  )  const
+
+ + + + + +
+   + + +

+ +

+Definition at line 97 of file primitive_configuration.cpp. +

+References NLLIGO::IPrimitive::getPropertyByName(), MatchPairs, NLLIGO::CPrimitiveConfigurations::CMatchGroup::Pairs, NLMISC::strlwr(), uint, and value. +

+

00098 {
+00099         // For each match group
+00100         uint group;
+00101         const uint numGroup = MatchPairs.size();
+00102         for (group=0; group<numGroup; group++)
+00103         {
+00104                 const CMatchGroup &matchGroup = MatchPairs[group];
+00105 
+00106                 // For each rules
+00107                 uint rules;
+00108                 const uint numRules = matchGroup.Pairs.size();
+00109                 for (rules=0; rules<numRules; rules++)
+00110                 {
+00111                         const std::pair<std::string, std::string> &pairs = matchGroup.Pairs[rules];
+00112                         string key = strlwr(pairs.second);
+00113 
+00114                         // Get the property
+00115                         string value;
+00116                         if (primitive.getPropertyByName (pairs.first.c_str(), value))
+00117                         {
+00118                                 if (strlwr(value) == key)
+00119                                         continue;
+00120                         }
+00121 
+00122                         // Get the property
+00123                         const std::vector<string> *array = NULL;
+00124                         if (primitive.getPropertyByName (pairs.first.c_str(), array) && array)
+00125                         {
+00126                                 uint i;
+00127                                 for (i=0; i<array->size(); i++)
+00128                                 {
+00129                                         if (strlwr((*array)[i]) == key)
+00130                                                 break;
+00131                                 }
+00132                                 if (i!=array->size())
+00133                                         continue;
+00134                         }
+00135 
+00136                         // Don't match
+00137                         break;
+00138                 }
+00139 
+00140                 // Match ?
+00141                 if (rules == numRules)
+00142                         return true;
+00143         }
+00144         return false;
+00145 }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool CPrimitiveConfigurations::read xmlNodePtr  configurationNode,
const char *  filename,
const char *  name,
class CLigoConfig config
+
+ + + + + +
+   + + +

+ +

+Definition at line 39 of file primitive_configuration.cpp. +

+References NLLIGO::CLigoConfig::getPropertyString(), MatchPairs, NLLIGO::CPrimitiveConfigurations::CMatchGroup::Pairs, ReadColor(), and NLLIGO::CLigoConfig::syntaxError(). +

+

00040 {
+00041         // The name
+00042         Name = name;
+00043 
+00044         // Read the color
+00045         ReadColor (Color, configurationNode);
+00046 
+00047         // Get the first matching pair
+00048         MatchPairs.reserve (CIXml::countChildren (configurationNode, "MATCH_GROUP"));
+00049         xmlNodePtr matchGroups = CIXml::getFirstChildNode (configurationNode, "MATCH_GROUP");
+00050         if (matchGroups)
+00051         {
+00052                 do
+00053                 {
+00054                         // Add a pair
+00055                         MatchPairs.push_back(CMatchGroup());
+00056                         CMatchGroup &matchGroup = MatchPairs.back();
+00057 
+00058                         // Get the first matching pair
+00059                         matchGroup.Pairs.reserve (CIXml::countChildren (matchGroups, "MATCH"));
+00060                         xmlNodePtr match = CIXml::getFirstChildNode (matchGroups, "MATCH");
+00061                         if (match)
+00062                         {
+00063                                 do
+00064                                 {
+00065                                         // Add the match
+00066                                         matchGroup.Pairs.resize (matchGroup.Pairs.size()+1);
+00067                                         std::pair<std::string, std::string> &pair = matchGroup.Pairs.back();
+00068 
+00069                                         // Get the match name
+00070                                         std::string name;
+00071                                         if (config.getPropertyString (name, filename, match, "NAME"))
+00072                                         {
+00073                                                 pair.first = name;
+00074                                         }
+00075                                         else
+00076                                         {
+00077                                                 config.syntaxError (filename, match, "Missing match name in configuration (%s)", name.c_str());
+00078                                                 return false;
+00079                                         }
+00080 
+00081                                         // Get the match value
+00082                                         if (config.getPropertyString (name, filename, match, "VALUE"))
+00083                                         {
+00084                                                 pair.second = name;
+00085                                         }
+00086                                 }
+00087                                 while ((match = CIXml::getNextChildNode (match, "MATCH")));
+00088                         }
+00089                 }
+00090                 while ((matchGroups = CIXml::getNextChildNode (matchGroups, "MATCH_GROUP")));
+00091         }
+00092         return true;
+00093 }
+
+


Field Documentation

+

+ + + + +
+ + +
NLMISC::CRGBA NLLIGO::CPrimitiveConfigurations::Color +
+
+ + + + + +
+   + + +

+ +

+Definition at line 57 of file primitive_configuration.h.

+

+ + + + +
+ + +
std::vector<CMatchGroup> NLLIGO::CPrimitiveConfigurations::MatchPairs +
+
+ + + + + +
+   + + +

+ +

+Definition at line 67 of file primitive_configuration.h. +

+Referenced by belong(), and read().

+

+ + + + +
+ + +
std::string NLLIGO::CPrimitiveConfigurations::Name +
+
+ + + + + +
+   + + +

+ +

+Definition at line 54 of file primitive_configuration.h.

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 12:48:42 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1