VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
attributesManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <mtl/mtlEnvironment.h>
12 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <libxml/xmlmemory.h>
16 #include <libxml/parser.h>
17 
18 #include <vector>
19 #include <string>
20 
21 namespace makVrf
22 {
24  {
25  public:
26  DtAttributeValuePair() : myBitPosition(0) {};
28  myAttributeName(orig.myAttributeName), myAttributeValue(orig.myAttributeValue), myBitPosition(orig.myBitPosition), myValue(orig.myValue) {};
29 
30  std::string myAttributeName;
31  std::string myAttributeValue;
33  int myValue;
34  };
35 
36  typedef std::vector<DtAttributeValuePair> DtAttributeValues;
37 
39  {
40  public:
43  virtual DtAttributeValueInfo& operator=(const DtAttributeValueInfo& info);
44 
45  typedef std::map<int, std::string> AttributeInformation;
46 
47  public:
49  std::string myXRef;
50  std::string myAttributeName;
52 
54  };
55 
57  {
58  public:
61  myAttributeValues(orig.myAttributeValues) {};
62 
65  virtual void addAttributeItems(const DtlObjPtr& tailPtr);
66 
69  virtual void addAttributeItems(xmlNodePtr);
70 
74  virtual void valuesFromMask(unsigned int mask, DtAttributeValues& result) const;
75 
76  virtual const std::vector<DtAttributeValueInfo>& attributeValues() const;
77 
78  DtAttributeInfo* clone() const { return new DtAttributeInfo(*this); };
79 
82  virtual void parseAttribute(const DtlObjPtr& attribute);
83 
86  virtual void parseAttribute(xmlNodePtr);
87 
89  virtual void resolveXRefValues(const std::map<std::string, DtAttributeValueInfo::AttributeInformation>& xrefValues);
90 
91  protected:
92 
95  virtual void insertAttributeValue(const DtAttributeValueInfo& value);
96 
97  protected:
98  std::vector<DtAttributeValueInfo> myAttributeValues;
99  };
100 
102  {
103  public:
105  virtual ~DtAttributesManager();
106 
107  virtual bool init(const std::string& file);
108 
109  static DtlObjPtr parseAttribute(const DtlObjPtr& args, const DtlObjPtr& env);
110 
112  virtual void parseAttribute(const DtlObjPtr& args);
113 
114  virtual bool addAttributeInfo(DtAttributeInfo* info);
115 
120  virtual void valuesFromMask(const DtEntityMapperKey& type, unsigned int mask,
121  DtAttributeValues& result) const;
122 
124  virtual void parsePossibleXRefValues(xmlNodePtr);
125 
126  virtual DtAttributeInfo* attributeInfo(const DtEntityMapperKey& key) const;
127 
129  virtual bool parseSISOFileForAttributes(const std::string& file);
130 
133  virtual void addSIDOUidToEntityTypeMapping(int, const DtEntityType&);
134 
135  protected:
137  virtual char* attributeString() const = 0;
138 
140  virtual DtAttributeInfo* createAttributeInfo(const DtEntityMapperKey& key) const;
141 
143  virtual bool parseAttribute(xmlNodePtr root);
144 
145  protected:
147 
148  typedef std::map<int, DtEntityType> UIDToEntityTypeMap;
150 
151  typedef std::map<std::string, DtAttributeValueInfo::AttributeInformation> XRefValues;
153  };
154 }
int myBitPosition
Definition: attributesManager.h:32
std::string myXRef
Definition: attributesManager.h:49
int myValue
Definition: attributesManager.h:33
Definition: entityMapperKey.h:23
std::string myAttributeName
This value will be used to look up actual values that appear later in the SISO document.
Definition: attributesManager.h:50
Definition: attributesManager.h:23
std::string myAttributeValue
Definition: attributesManager.h:31
Definition: orderedKeyList.h:25
std::map< int, std::string > AttributeInformation
Definition: attributesManager.h:45
DtAttributeInfo * clone() const
Definition: attributesManager.h:78
XRefValues myXRefValues
Definition: attributesManager.h:152
DtAttributeInfo(const DtAttributeInfo &orig)
Definition: attributesManager.h:60
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::vector< DtAttributeValueInfo > myAttributeValues
Definition: attributesManager.h:98
DtAttributeValuePair()
Definition: attributesManager.h:26
std::vector< DtAttributeValuePair > DtAttributeValues
Definition: attributesManager.h:36
UIDToEntityTypeMap myUIDToEntityTypeMap
Definition: attributesManager.h:149
std::string myAttributeDescription
Definition: attributesManager.h:51
AttributeInformation myAttributeValues
Definition: attributesManager.h:53
xmlNode * xmlNodePtr
Definition: DtLightPointTable.h:20
int myBitPosition
Definition: attributesManager.h:48
Definition: attributesManager.h:38
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< std::string, DtAttributeValueInfo::AttributeInformation > XRefValues
Definition: attributesManager.h:151
DtAttributeValuePair(const DtAttributeValuePair &orig)
Definition: attributesManager.h:27
DtOrderedKeyList< DtAttributeInfo * > myAttributeInfo
Definition: attributesManager.h:146
Definition: attributesManager.h:101
std::map< int, DtEntityType > UIDToEntityTypeMap
Definition: attributesManager.h:148
Definition: attributesManager.h:56

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)