VR-Link API Documentation for HLA 1516
objectClassFedNode.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)