VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
makVrf::DtAggregateRollUpManager Class Reference

This class will manage rolling up of subordinate data data information into container pseudo aggregate classes and send notifications when those pseudo aggregates have been changed due to subordinate data changing. Manage requests for monitoring and being notified of changes by calling the monitorAggregate method (true or false). Call stateProperties() for the aggregate in question to do a one time roll up. Call parameterData() to roll up the parameter (base) properties for the aggereate and its subordinates.

Inheritance diagram for makVrf::DtAggregateRollUpManager:
Inheritance graph
[legend]

Classes

struct  MonitorStruct
 

Public Types

enum  UpdateFlags { StructureChanged = 0x00000001, DataChanged = 0x00000002 }
 
typedef std::set
< DtSimObjectReference
Leafs
 
typedef std::map< std::string,
DtRollUpFunction
RollUpRules
 

Public Member Functions

 DtAggregateRollUpManager (makVrv::DtDe &)
 
virtual ~DtAggregateRollUpManager () override
 
virtual bool hasStateProperties (makVrv::DtUniqueID) const
 
virtual bool hasStateProperty (makVrv::DtUniqueID, const std::string &statePropName) const
 
virtual void parameterData (DtSimObjectReference ref, DtRwProperties &) const
 
virtual void parameterData (const std::set< DtSimObjectReference > &, DtRwProperties &) const
 
virtual void parameterData (const std::set< makVrv::DtUniqueID > &, DtRwProperties &) const
 
virtual void parameterData (makVrv::DtUniqueID, DtRwProperties &) const
 
virtual void leafNodes (DtSimObjectReference ref, Leafs &, bool includePseudoAggregates=false) const
 
virtual void leafNodes (makVrv::DtUniqueID, Leafs &, bool includePseudoAggregates=false) const
 
virtual void statePropertiesFor (DtSimObjectReference ref, DtRwProperties &) const
 
virtual void statePropertiesContainedIn (const Leafs &, DtRwProperties &) const
 
virtual void statePropertiesFor (makVrv::DtUniqueID, DtRwProperties &) const
 
virtual void statePropertiesFor (const std::set< makVrv::DtUniqueID > &, DtRwProperties &) const
 
virtual void statePropertiesFor (const Leafs &states, DtRwProperties &) const
 
virtual bool isMonitorable (DtSimObjectReference ref) const
 
virtual bool isMonitorable (makVrv::DtUniqueID) const
 
virtual void monitor (makVrv::DtUniqueID, bool)
 
virtual void startMonitoring (makVrv::DtUniqueID)
 
virtual void stopMonitoring (makVrv::DtUniqueID)
 
virtual void installCustomRules ()
 
virtual makVrv::DtUniqueID superior (makVrv::DtUniqueID) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtAggregateRollUpManagerinstance (makVrv::DtDe &de)
 
static void registerInstance (makVrv::DtDe &, DtAggregateRollUpManager *)
 

Public Attributes

boost::signals2::signal< void(makVrv::DtUniqueID,
int)> 
signal_aggregateUpdated
 

Protected Types

typedef std::map
< makVrv::DtUniqueID,
MonitorStruct
Monitoring
 

Protected Member Functions

virtual bool hasStateProperties (DtSimObjectReference) const
 
virtual bool hasStateProperty (DtSimObjectReference, const std::string &statePropName) const
 
virtual void slot_aggregateStateUpdated (DtSimObjectReference ref)
 
virtual void slot_aggregateRootStateUpdated (DtSimObjectReference ref)
 
virtual void slot_onStateViewAboutToBeRemoved (DtSimObjectReference ref)
 
virtual void startMonitoring (DtSimObjectReference ref, makVrv::DtUniqueID parent)
 

Protected Attributes

makVrv::DtDemyDe
 
Monitoring myMonitoring
 
makVrv::DtSignalConnectionManager myConnections
 
DtTrueAggregateRollUpHelper myTrueAggregateRollUpHelper
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
StructureChanged 
DataChanged 

Constructor & Destructor Documentation

makVrf::DtAggregateRollUpManager::DtAggregateRollUpManager ( makVrv::DtDe )
virtual makVrf::DtAggregateRollUpManager::~DtAggregateRollUpManager ( )
overridevirtual

Member Function Documentation

static DtAggregateRollUpManager& makVrf::DtAggregateRollUpManager::instance ( makVrv::DtDe de)
static

Returns instance of the messager.

Referenced by makVrf::DtSetStatePropertyDialog::setupProperties().

static void makVrf::DtAggregateRollUpManager::registerInstance ( makVrv::DtDe ,
DtAggregateRollUpManager  
)
static
virtual bool makVrf::DtAggregateRollUpManager::hasStateProperties ( makVrv::DtUniqueID  ) const
virtual

Returns true if the aggregate with the given unique ID has, or has any subordinates with, valid state properties.

Referenced by makVrf::DtSetStatePropertyDialog::setupProperties().

virtual bool makVrf::DtAggregateRollUpManager::hasStateProperty ( makVrv::DtUniqueID  ,
const std::string &  statePropName 
) const
virtual

Returns true if the aggregate with the given unique ID has, or has any subordinates with, the given state property.

virtual void makVrf::DtAggregateRollUpManager::parameterData ( DtSimObjectReference  ref,
DtRwProperties  
) const
virtual

Given the state, if the state is an aggregate and has subordinates, return a total of all the parameter properties for numerical items found within. String values that have the same value will be kept. Those that have differing values will be removed If the item is not an aggregate simply the parameter properties related to the entity type will be returned.

Referenced by makVrf::DtSetStatePropertyDialog::setupProperties().

virtual void makVrf::DtAggregateRollUpManager::parameterData ( const std::set< DtSimObjectReference > &  ,
DtRwProperties  
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::parameterData ( const std::set< makVrv::DtUniqueID > &  ,
DtRwProperties  
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::parameterData ( makVrv::DtUniqueID  ,
DtRwProperties  
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::leafNodes ( DtSimObjectReference  ref,
Leafs ,
bool  includePseudoAggregates = false 
) const
virtual

Given a root, returns all the leaf nodes from the given aggregate. Leaf nodes are considered those that do not have children.

virtual void makVrf::DtAggregateRollUpManager::leafNodes ( makVrv::DtUniqueID  ,
Leafs ,
bool  includePseudoAggregates = false 
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::statePropertiesFor ( DtSimObjectReference  ref,
DtRwProperties  
) const
virtual

Returns the rolled up state properties or the state properties for the individual (if this is not a pseudo aggregate)

Referenced by makVrf::DtSetStatePropertyDialog::setupProperties().

virtual void makVrf::DtAggregateRollUpManager::statePropertiesContainedIn ( const Leafs ,
DtRwProperties  
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::statePropertiesFor ( makVrv::DtUniqueID  ,
DtRwProperties  
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::statePropertiesFor ( const std::set< makVrv::DtUniqueID > &  ,
DtRwProperties  
) const
virtual
virtual void makVrf::DtAggregateRollUpManager::statePropertiesFor ( const Leafs states,
DtRwProperties  
) const
virtual

Given the states, return a total of all the state properties for numerical items found within. Boolean and string values that have the same value will be kept. Those that have differing values will be marked as readOnly.

virtual bool makVrf::DtAggregateRollUpManager::isMonitorable ( DtSimObjectReference  ref) const
virtual

Returns true if this is a pseudo aggregate and can be monitored for resource updates.

virtual bool makVrf::DtAggregateRollUpManager::isMonitorable ( makVrv::DtUniqueID  ) const
virtual
virtual void makVrf::DtAggregateRollUpManager::monitor ( makVrv::DtUniqueID  ,
bool   
)
virtual

Call to start/stop monitoring a particular aggregate. Will keep a reference counter for each aggregate monitored and only stop monitoring when reference is 0. If something about the aggregate changes the signal_aggregateUpdated signal will be sent.

virtual void makVrf::DtAggregateRollUpManager::startMonitoring ( makVrv::DtUniqueID  )
virtual
virtual void makVrf::DtAggregateRollUpManager::stopMonitoring ( makVrv::DtUniqueID  )
virtual
virtual void makVrf::DtAggregateRollUpManager::installCustomRules ( )
virtual
virtual makVrv::DtUniqueID makVrf::DtAggregateRollUpManager::superior ( makVrv::DtUniqueID  ) const
virtual

Given the particular element, returns the superior of this element or 0 if there is no superior.

virtual bool makVrf::DtAggregateRollUpManager::hasStateProperties ( DtSimObjectReference  ) const
protectedvirtual

Returns true if the subordinates have state properties in their state.

virtual bool makVrf::DtAggregateRollUpManager::hasStateProperty ( DtSimObjectReference  ,
const std::string &  statePropName 
) const
protectedvirtual

Returns true if the list of items (global ids) has the given state property as part of their state.

virtual void makVrf::DtAggregateRollUpManager::slot_aggregateStateUpdated ( DtSimObjectReference  ref)
protectedvirtual
virtual void makVrf::DtAggregateRollUpManager::slot_aggregateRootStateUpdated ( DtSimObjectReference  ref)
protectedvirtual
virtual void makVrf::DtAggregateRollUpManager::slot_onStateViewAboutToBeRemoved ( DtSimObjectReference  ref)
protectedvirtual
virtual void makVrf::DtAggregateRollUpManager::startMonitoring ( DtSimObjectReference  ref,
makVrv::DtUniqueID  parent 
)
protectedvirtual

Member Data Documentation

boost::signals2::signal<void (makVrv::DtUniqueID, int)> makVrf::DtAggregateRollUpManager::signal_aggregateUpdated

Signal sent when something about the aggregate has been updated.

makVrv::DtDe& makVrf::DtAggregateRollUpManager::myDe
protected
Monitoring makVrf::DtAggregateRollUpManager::myMonitoring
protected
makVrv::DtSignalConnectionManager makVrf::DtAggregateRollUpManager::myConnections
protected
DtTrueAggregateRollUpHelper makVrf::DtAggregateRollUpManager::myTrueAggregateRollUpHelper
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)