VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfobjcore
aggregateNode.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2015 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
11
#pragma once
12
13
#include "
vrfobjcore/vrfobjcoreDefines.h
"
14
#include "
vrfutil/rwUUID.h
"
15
#include <vlpi/entityIdentifier.h>
16
#include <vlutil/vlSmartPointers.h>
17
#include <list>
18
#include "
vrfobjcore/orgViewManagedObjectList.h
"
19
#include "
vrfobjcore/vrfObjectReference.h
"
20
21
class
DtAggregateNode
;
22
class
DtAggregateData
;
23
class
DtOrganizationManager
;
24
25
typedef
DtBoost::shared_ptr<DtAggregateNode>
DtAggregateNodePtr
;
26
typedef
DtBoost::shared_ptr<const DtAggregateNode>
DtAggregateNodeConstPtr
;
27
typedef
std::list<DtAggregateNodePtr>
DtAggregateNodeList
;
28
typedef
DtBoost::shared_ptr<DtAggregateData>
DtAggregateDataPtr
;
29
typedef
DtBoost::shared_ptr<const DtAggregateData>
DtAggregateDataConstPtr
;
30
34
class
DT_DLL_vrfobjcore
DtAggregateNode
35
{
36
public
:
37
39
typedef
DtAggregateData
* (*DtAggregateDataCreator)();
40
41
public
:
42
44
DtAggregateNode
(
const
DtUUID
& uuid,
45
DtOrganizationManager
& organizationManager);
46
47
DtAggregateNode
(
DtOrganizationManager
& organizationManager);
48
50
virtual
~
DtAggregateNode
();
51
53
virtual
void
addChild(
DtAggregateNodePtr
child);
54
56
const
DtAggregateNodeList
& childList()
const
;
57
59
virtual
const
DtSharedVrfObjectReference
& entity()
const
;
60
63
virtual
DtAggregateDataPtr
data();
64
virtual
DtAggregateDataConstPtr
data()
const
;
66
68
virtual
void
print
()
const
;
69
70
public
:
71
76
static
void
setAggregateDataCreator(DtAggregateDataCreator creator);
77
static
DtAggregateDataCreator aggregateDataCreator(
void
);
79
82
virtual
DtOrgViewManagedObjectListConstPtr
taskableSubordinates()
const
;
83
virtual
DtOrgViewManagedObjectListConstPtr
ableToMoveSubordinates()
const
;
84
virtual
DtOrgViewManagedObjectListConstPtr
allSubordinates()
const
;
86
88
bool
isAggregate
()
const
{
return
myIsAggregate; };
89
private
:
90
92
DtAggregateNode
(
const
DtAggregateNode
& orig);
93
95
DtAggregateNode
& operator=(
const
DtAggregateNode
& orig);
96
97
protected
:
98
100
DtSharedVrfObjectReference
myEntity
;
101
103
DtAggregateDataPtr
myData
;
104
107
DtAggregateNodeList
myChildNodes
;
108
109
protected
:
110
113
static
DtAggregateDataCreator
theAggregateDataCreator
;
114
115
DtOrganizationManager
&
myOrganizationManager
;
116
DtOrgViewManagedObjectListConstPtr
myTaskableSubordinates
;
117
DtOrgViewManagedObjectListConstPtr
myAbleToMoveSubordinates
;
118
DtOrgViewManagedObjectListConstPtr
myAllSubordinates
;
119
120
bool
myIsAggregate
;
121
};
Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)