![]() |
VR-Link API Documentation for HLA 1516
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00007 #pragma once 00008 00009 #pragma warning(disable : 4100) 00010 00011 #include "fedNode.h" 00012 #include "attributeFedNode.h" 00013 00014 #include <vl/fom.h> 00015 #include <list> 00016 #include <vl/objClassDesc.h> 00017 #include <vlutil/vlString.h> 00018 #include <vl/rtiNamespace.h> 00019 00020 class DT_DLL_OMTREADER DtDatatypeRep; 00021 00022 00025 class DT_DLL_OMTREADER DtObjectClassFedNode : public DtFedNode 00026 { 00027 public: 00028 00030 typedef std::list<DtObjectClassFedNode*> ObjectClassFedNodeList; 00031 00033 typedef std::list<DtAttributeFedNode*> AttributeFedNodeList; 00034 00036 DtObjectClassFedNode(); 00037 00039 explicit DtObjectClassFedNode(DtFedNode*); 00040 00042 virtual ~DtObjectClassFedNode(); 00043 00045 DtObjectClassFedNode(const DtObjectClassFedNode& orig); 00046 00048 DtObjectClassFedNode& operator=(const DtObjectClassFedNode& rhs); 00049 00051 virtual void addAttribute(DtAttributeFedNode* attribute); 00052 00054 virtual void addChildObject(DtObjectClassFedNode* child); 00055 00057 virtual DtObjectClassFedNode* findChildObject(const char * name) ; 00058 00060 virtual DtAttributeFedNode* findAttribute(const char * attribute) const; 00061 00063 virtual const ObjectClassFedNodeList& getChildObjects() const; 00064 00066 virtual const AttributeFedNodeList& getAttributes() const; 00067 00068 virtual void setDescriptor(const DtString&); 00069 virtual const DtString& getDescriptor(); 00070 00071 virtual void setParentClassHandle(RTI::ObjectClassHandle); 00072 virtual RTI::ObjectClassHandle getParentClassHandle(); 00073 00074 virtual void setClassHandle(RTI::ObjectClassHandle); 00075 virtual RTI::ObjectClassHandle getClassHandle(); 00076 00077 virtual void setSharing(const DtString&); 00078 virtual const DtString& getSharing(); 00079 00080 virtual void setIdentifier(int); 00081 virtual int getIdentifier(); 00082 virtual void setParentIdentifier(int); 00083 virtual int getParentIdentifier(); 00084 00085 protected: 00086 virtual void removeAttributes(); 00087 00088 protected: 00089 AttributeFedNodeList myAttributes; 00090 ObjectClassFedNodeList myChildObjects; 00091 00094 RTI::ObjectClassHandle myParentClassValue; 00095 RTI::ObjectClassHandle myClassValue; 00096 00097 DtString myDescriptor; 00098 00099 // 1516(E) only 00100 DtString mySharing; 00101 00102 // 1.3 only 00103 int myIdentifier; 00104 int myParentIdentifier; 00105 }; 00106 00107