VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/vrfAggregateSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfAggregateSR.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtVrfAggregateStateRepository_H_
00013 #define DtVrfAggregateStateRepository_H_
00014 
00015 #include "vrfobjcore/vrfMvObjSR.h"
00016 #include "vrfutil/rwFormType.h"
00017 #include "vrfutil/rwAggregateState.h"
00018 #include "geometry/tdbextent.h"
00019 #include <vlpi/disEnums.h>
00020 
00021 class DtFormation;
00022 class DtFormationState;
00023 class DtAggregateObjectParameters;
00024 
00025 #include "vrfobjcore/vrfobjcoreDefines.h"
00026 class DT_DLL_vrfobjcore DtVrfAggregateStateRepository : public DtVrfMovingObjectStateRepository
00027 {
00028 protected:
00030    DtVrfAggregateStateRepository();
00031 
00032 public:
00033 
00034    DtVrfAggregateStateRepository (DtVrfObject* vrfObject, 
00035       const DtObjectType& objectType, DtVrfObjectParameters* parameters,
00036       const DtString& rwName = DtString::nullString(),
00037       DtReaderWriterRegistry* parentRegistry = 0);
00038 
00039    DtVrfAggregateStateRepository (const DtVrfAggregateStateRepository& orig, 
00040       const DtString& rwName = DtString::nullString(),
00041       DtReaderWriterRegistry* parentRegistry = 0);
00042 
00043    const DtVrfAggregateStateRepository & operator= (
00044       const DtVrfAggregateStateRepository & orig);
00045 
00046    virtual ~DtVrfAggregateStateRepository();
00047 
00048    virtual DtSimObjectStateRepository* clone(
00049       const DtString& rwName = DtString::nullString(),
00050       DtReaderWriterRegistry*  parentRegistry = 0) const;
00051 
00054    virtual bool init();
00055 
00057    virtual DtString type() const;
00058 
00059    virtual DtFormationState* formationState() const;
00060 
00061    virtual void setFormation(DtAggregateFormation formation);
00062    virtual DtAggregateFormation formation() const;
00063 
00065 
00066 
00067 
00068 
00069 
00070 
00071    virtual void setFormationName(const DtString& name);
00072    virtual DtString formationName() const;
00074 
00080 
00081    virtual void setAggregateState(enum DtAggregateState state);
00082    virtual enum DtAggregateState aggregateState() const;
00084 
00086    virtual bool formationNameSpecified() const;
00087 
00089    virtual double formationHalfLength();
00090 
00092    virtual const int vrfMovingObjectStateRepositorySubType() const;
00093 
00095    virtual const int aggregateStateRepositorySubType() const;
00096 
00098    virtual void getSelf(DtlObjPtr args, 
00099       const DtFilename& searchPath, const DtVariableBindingsList& variableBindings);
00100 
00102    static DtVrfObjectStateRepository* creator (const DtString& name,
00103       DtVrfObject* vrfObject,const DtObjectType& objectType,
00104       DtVrfObjectParameters* parameters, 
00105       DtReaderWriterRegistry* parentRegistry);
00106 
00109    static DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
00110       DtSimObjectStateRepository* repository);
00111 
00112    static const DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
00113       const DtSimObjectStateRepository* repository);
00114 
00115    virtual bool aggregatedExtent(DtExtent& extent);
00116 
00117    virtual bool computeExtentFromParameters(const DtString& formationName, DtExtent& extent);
00118 
00119    virtual void setParameterEntry(DtVrfObjectParameters* parameterEntry);
00120 
00121 protected:
00122 
00123    virtual void createFormationState(); 
00124 
00125    virtual bool computeExtent(const DtAggregateObjectParameters& parameterEntry, 
00126       const DtString& formationName, DtExtent& extent);
00127 
00128    virtual std::list<DtVector> generateFormationPositions(
00129       const DtVrfObjectParameters& parameterEntry, DtFormation& formation);
00130 
00131    virtual bool getFormation(const DtString& formationName,
00132       const DtAggregateObjectParameters& parameterEntry,
00133       DtFormation& formation);
00134 
00139    virtual void preGetSelf();
00140    virtual void postGetSelf();
00141 
00142 protected:
00143 
00144    DtRwFormationType myFormation;
00145    DtRwString myFormationName;
00146    DtFormationState* myFormationState;
00147    DtRwAggregateState myAggregateState;
00148 
00149    DtExtent myCachedExtent;
00150    bool myCachedExtentIsValid;
00151 };
00152 
00153 #endif
00154 
00155 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)