![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: ifCreateMultipleEntities.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #pragma once 00013 00014 #include <vrfExtProtocol/ifaceCont.h> 00015 #include <vrfutil/bufferSerialize.h> 00016 #include <vrftasks/simTask.h> 00017 #include <vrftasks/setDataReq.h> 00018 #include "bhaveMsgs/bhaveMsgsDefines.h" 00019 00020 namespace DtBufferSerialize 00021 { 00022 00023 class DtGroupEntityInfo 00024 { 00025 public: 00026 00027 DtGroupEntityInfo() 00028 { 00029 myGroupName = ""; 00030 myTask = 0; 00031 mySet = 0; 00032 } 00033 00034 DtString myGroupName; 00035 DtU16 myNumEntities; 00036 DtObjectType myEntityType; 00037 DtU16 myForceType; 00038 DtString myPlacementType; 00039 DtSimTask* myTask; 00040 DtSetDataRequest* mySet; 00041 }; 00042 00043 int getSize(const DtGroupEntityInfo& val); 00044 char *encode(const DtGroupEntityInfo& val, char *buffer); 00045 const char *decode(DtGroupEntityInfo& val, const char *buffer); 00046 } 00047 00048 namespace BHAVE 00049 { 00053 class DT_DLL_bhaveMsgs DtIfCreateMultipleEntities : public DtSimInterfaceContent 00054 { 00055 00056 public: 00057 00059 DtIfCreateMultipleEntities(); 00060 00062 DtIfCreateMultipleEntities(const DtIfCreateMultipleEntities & orig); 00063 00065 const DtIfCreateMultipleEntities & operator=(const DtIfCreateMultipleEntities & orig); 00066 00068 virtual ~DtIfCreateMultipleEntities(); 00069 00071 virtual int type() const; 00072 00074 virtual const DtString& selectionGroupName() const; 00075 00077 virtual void setSelectionGroupName(const DtString& grName); 00078 00080 virtual const DtString& areaName() const; 00081 00083 virtual void setAreaName(const DtString& name); 00084 00086 virtual void addGroup(DtString grName, DtU16 grHowMany, 00087 DtObjectType grEntityType, 00088 DtU16 grForceType, const DtString grPlacementType, 00089 DtSimTask* grTask, 00090 DtSetDataRequest* grSet); 00091 00093 virtual const std::vector<DtBufferSerialize::DtGroupEntityInfo> groups() const; 00095 00097 virtual DtSimInterfaceContent * clone() const; 00098 00100 virtual int netRepSize() const; 00101 00103 virtual bool setFromNet(const char* contentBuffer, unsigned contentSize); 00104 00106 virtual bool setToNet(); 00107 00109 virtual void printDataToString(DtString& str); 00110 00112 static DtSimInterfaceContent* creator(); 00113 00114 protected: 00117 virtual void copyGroups(const std::vector<DtBufferSerialize::DtGroupEntityInfo> & origGroup); 00118 00119 protected: 00120 00121 DtString myAreaName; 00122 DtString mySelectionGroupName; 00123 std::vector<DtBufferSerialize::DtGroupEntityInfo> myGroups; 00124 00125 }; 00126 00127 }