VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
environment.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 
10 
11 #ifndef environment_H_
12 #define environment_H_
13 
14 #include "envObject.h"
15 #include "nativeValue.h"
16 #include <list>
17 
18 #include <ostream>
19 
20 #ifdef DtUSE_UTILITIES_NAMESPACE
21 namespace DtUSE_UTILITIES_NAMESPACE
22 {
23 #endif
24 
30 {
31 public:
33  DtEnvironment();
34 
36  explicit DtEnvironment(const DtString& name);
37 
41  explicit DtEnvironment(DtEnvValueSP root);
42 
44  virtual ~DtEnvironment();
45 
49  void sync();
55  void sync(DtEnvValueSP value);
56 
58  DtEnvValueSP root() const;
59 
63  void setRoot(DtEnvValueSP root);
64 
67  void rootToParent();
68 
70  DtEnvValueSP getTopParent();
71 
73  DtEnvValueSP getTopParent(DtEnvValueSP value);
74 
78  void reparent( DtEnvValueSP value, DtEnvValueSP parent );
79 
81  DtEnvValueSP addComment(const DtString& comment,DtEnvValueSP parent);
87  DtEnvValueSP addComment(const DtString& comment);
89 
90  DtEnvValueSP addNativeValue(DtNativeValueSP nativeValue,DtEnvValueSP parent);
91  DtEnvValueSP getNativeValue(DtEnvValueSP parent) const;
92 
93  DtEnvValueSP addAttribute(const DtString& name,const DtString& value);
94  DtEnvValueSP addAttribute(const DtString& name,const DtString& value,DtEnvValueSP parent);
95 
96  DtEnvValueSP addNamedList(const DtString& name);
97  DtEnvValueSP addNamedList(const DtString& name,DtEnvValueSP parent);
98 
100  DtEnvValueSP addObject(const DtString& objectType);
107  DtEnvValueSP addObject(const DtString& objectType,DtEnvValueSP parent);
108  DtEnvValueSP addObject(const DtString& objectName,const DtString& objectType);
109  DtEnvValueSP addObject(const DtString& objectName,const DtString& objectType, DtEnvValueSP parent);
111 
112  DtEnvValueSP getAttribute(const DtString& name);
113  DtEnvValueSP getAttribute(const DtString& name,DtEnvValueSP parent);
114 
115  void getNamedListsByName(const DtString& objectName,std::list<DtEnvValueSP>& list);
116  void getObjectsByName(const DtString& objectName,std::list<DtEnvValueSP>& list);
117  void getObjectsByType(const DtString& objectType,std::list<DtEnvValueSP>& list);
118 
119  void getNamedListsByName(const DtString& objectName,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
120  void getObjectsByName(const DtString& objectName,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
121  void getObjectsByType(const DtString& objectType,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
122 
123  DtEnvValueSP getNamedList(const DtString& name) const;
124  DtEnvValueSP getNamedList(const DtString& name,DtEnvValueSP root) const;
125 
127 
128  DtEnvValueSP getObject(const DtString& name,const DtString& type) const;
129  DtEnvValueSP getObject(const DtString& name,const DtString& type,DtEnvValueSP root) const;
130 
135  DtEnvObjectSync* getObjectSync(const DtString& name,const DtString& type) const;
140  DtEnvObjectSync* getObjectSync(const DtString& name,const DtString& type,DtEnvValueSP root) const;
141 
142 
151  DtEnvValueSP copy(DtEnvValueSP original);
152 
162  DtEnvValueSP copy(DtEnvValueSP original,DtEnvValueSP parent);
163 
169  void remove(DtEnvValueSP value);
170 
179  bool contains(DtEnvValueSP value);
180 
191  int level(DtEnvValueSP value);
192 
194  void print(std::ostream& output, const DtString& indent ,
195  bool printComments = true) const;
196 
198  void print(std::ostream& output,DtEnvValueSP root,
199  const DtString& indent ,bool printComments = true) const;
200 
201 protected:
202 
205 };
206 
208 DT_DLL_MTL std::ostream & operator<<(std::ostream &str, const DtEnvironment &env);
209 
210 #ifdef DtUSE_UTILITIES_NAMESPACE
211 }
212 #endif
213 
214 
215 #endif
DtBoost::shared_ptr< DtEnvValue > DtEnvValueSP
Definition: envValue.h:29
DtBoost::shared_ptr< DtNativeValue > DtNativeValueSP
Definition: nativeValue.h:24
DtEnvValueSP myRoot
The root of the environment.
Definition: environment.h:204
std::ostream & operator<<(std::ostream &os, const Dt3dChord &chord)
Contains DtNativeValue class.
A Flyweight class for manipulating objects and their hierarchy The DtEnvironment wraps a DtEnvValuSP ...
Definition: environment.h:29
class DT_DLL_MTL DtEnvironment
Definition: envObjectSync.h:29
Synchronizes an environment object to a C++ object.
Definition: envObjectSync.h:35
Contains the DtEnvObject class.
#define DT_DLL_MTL
Definition: vlMachineTypes.h:106
Instances of DtString are used to represent strings.
Definition: vlString.h:29

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)