VR-Forces 4.0.4 Class Documentation
include/bhaveMsgs/ifCreateMultipleEntities.h
Go to the documentation of this file.
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 } 

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)