VR-Forces 4.2 Class Documentation
aggregateNode.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: aggregateNode.h,v $ $Revision: 1.5 $ $State: Exp $
7 *******************************************************************************/
8 
11 
14 
15 #ifndef DtAggregateNode_H_
16 #define DtAggregateNode_H_
17 
19 #include <vlpi/entityIdentifier.h>
20 #include <vlutil/vlSmartPointers.h>
21 #include <list>
23 
24 class DtAggregateNode;
25 class DtAggregateData;
27 
28 typedef DtBoost::shared_ptr<DtAggregateNode> DtAggregateNodePtr;
29 typedef DtBoost::shared_ptr<const DtAggregateNode> DtAggregateNodeConstPtr;
30 typedef std::list<DtAggregateNodePtr> DtAggregateNodeList;
31 typedef DtBoost::shared_ptr<DtAggregateData> DtAggregateDataPtr;
32 typedef DtBoost::shared_ptr<const DtAggregateData> DtAggregateDataConstPtr;
33 
38 {
39 public:
40 
42  typedef DtAggregateData* (*DtAggregateDataCreator)();
43 
44 public:
45 
47  DtAggregateNode(const DtEntityIdentifier& objectId,
48  DtOrganizationManager& organizationManager);
49 
51  virtual ~DtAggregateNode();
52 
54  virtual void addChild(DtAggregateNodePtr child);
55 
57  const DtAggregateNodeList& childList() const;
58 
60  virtual const DtEntityIdentifier& objectId() const;
61 
64  virtual DtAggregateDataPtr data();
65  virtual DtAggregateDataConstPtr data() const;
67 
69  virtual void print() const;
70 
71 public:
72 
77  static void setAggregateDataCreator(DtAggregateDataCreator creator);
78  static DtAggregateDataCreator aggregateDataCreator(void);
80 
83  virtual DtOrgViewManagedObjectListConstPtr taskableSubordinates() const;
84  virtual DtOrgViewManagedObjectListConstPtr ableToMoveSubordinates() const;
85  virtual DtOrgViewManagedObjectListConstPtr allSubordinates() const;
87 
88 private:
89 
91  DtAggregateNode(const DtAggregateNode& orig);
92 
94  DtAggregateNode& operator=(const DtAggregateNode& orig);
95 
96 protected:
97 
99  DtEntityIdentifier myObjectId;
100 
103 
107 
108 protected:
109 
112  static DtAggregateDataCreator theAggregateDataCreator;
113 
118 };
119 
120 #endif

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)