VR-Forces 4.0.4 Class Documentation
include/vrfutil/trueAggregateSubordinateEntry.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: trueAggregateSubordinateEntry.h,v $ $Revision: 1.3 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 
00013 #ifndef DtTrueAggregateSubordinatesEntry_H_
00014 #define DtTrueAggregateSubordinatesEntry_H_
00015 
00016 #include "vrfutil/rwObjType.h"
00017 #include "vrfutil/rwString.h"
00018 #include "vrfutil/rwVector.h"
00019 #include "vrfutil/rwBoolean.h"
00020 #include "geometry/point.h"
00021 
00022 #include "vrfutil/trueAggregateSubordinateEntryFact.h"
00023 
00024 #include "vrfutil/vrfutilDefines.h"
00025 class DT_DLL_vrfutil DtSubordinateEntry : public DtReaderWriter
00026 {
00027 public:
00029    DtSubordinateEntry();
00030 
00032    DtSubordinateEntry(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL);
00033    DtSubordinateEntry(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL);
00034 
00036    DtSubordinateEntry(const DtString& name, 
00037       const DtSubordinateEntry& orig, 
00038       DtReaderWriterRegistry*  parentRegistry = NULL);
00039 
00040    DtSubordinateEntry(const DtSymbolString& name, 
00041       const DtSubordinateEntry& orig, 
00042       DtReaderWriterRegistry*  parentRegistry = NULL);
00043 
00045    const DtSubordinateEntry& operator=(const DtSubordinateEntry & orig);
00046 
00047    virtual ~DtSubordinateEntry();
00048 
00049 
00050    virtual DtSubordinateEntry* clone(const DtSymbolString& name, 
00051       DtReaderWriterRegistry* parentRegistry = NULL) const;
00052 
00053    virtual DtSubordinateEntry* clone(const DtString& name, 
00054       DtReaderWriterRegistry* parentRegistry = NULL) const;
00055 
00058    virtual const DtString& subordinateEntryType() const;
00059    virtual void setSubordinateEntryType(const DtString& entryType);
00061 
00064    virtual const DtRwObjectType& subordinateType() const;
00065    virtual void setSubordinateType(const DtObjectType& subordinateType);
00067 
00070    virtual bool isDestroyed() const;
00071    virtual void setDestroyed(bool trueFalse);
00073 
00074    virtual DtPoint positionOffset(const DtPoint& accumOffset = DtPoint(0, 0, 0)) const;
00075    virtual void setPositionOffset(const DtVector& offset = DtVector(0, 0, 0)) ;
00076 
00079    static void addSubordinateEntryCreatorFcn(const DtString& type, 
00080       DtSubordinateEntryCreatorFcn fcn);
00081 
00086    static DtSubordinateEntryFactory* factory();
00087    static void setFactory(DtSubordinateEntryFactory* factory);
00089 
00097    static DtSubordinateEntry* createSubordinateEntry(DtlObjPtr mtlStream, 
00098       const DtFilename& searchPath, const DtVariableBindingsList& variableBindings);
00099 
00104    static DtSubordinateEntry* createSubordinateEntry(const char* pName);
00105 
00106 
00107 protected:
00108 
00112    DtRwString     mySubordinateEntryType;
00113 
00118    DtRwObjectType     mySubordinateType;
00119 
00123    DtRwBoolean  myDestroyed;
00124 
00126    DtRwVector  myPositionOffset;
00127 
00128    static DtSubordinateEntryFactory* myFactory;
00129 
00130 };
00131 
00132 namespace DtBufferSerialize
00133 {
00134    DT_DLL_vrfutil int getSize(const DtSubordinateEntry& val);
00135    DT_DLL_vrfutil char* encode(const DtSubordinateEntry& data, char *buffer);
00136    DT_DLL_vrfutil const char* decode(DtSubordinateEntry &data, const char *buffer);
00137 }
00138 #endif
00139 
00140 
00141 

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)