VR-Link API Documentation for HLA 1516
hLinObjTrans.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 
00007 #ifndef hLinObjTrans_H
00008 #define hLinObjTrans_H
00009 
00010 #if DtHLA
00011 
00012 #include "hEnvObjTrans.h"
00013 
00014 #include "objectType.h"
00015 #include "breachSegRec.h"
00016 #include "exhaustSmokeRec.h"
00017 #include "mineFldMarkRec.h"
00018 
00022 
00023 class DT_DLL_VL DtLinearObjectTransaction;
00024 class DT_DLL_VL DtExerciseConn;
00025 
00027 typedef void (*DtLinearObjectTransactionCb)
00028    (DtLinearObjectTransaction* inter, void* usr);
00029 
00047 class DT_DLL_VL DtLinearObjectTransaction : public DtEnvironmentObjectTransaction
00048 {
00049 public:
00050 
00051    //default constructor
00052    DtLinearObjectTransaction();
00053 
00054    //destructor
00055    virtual ~DtLinearObjectTransaction();
00056 
00057    //copy constructor
00058    DtLinearObjectTransaction(const DtLinearObjectTransaction& orig);
00059 
00060    //assignment operator
00061    DtLinearObjectTransaction& operator=( const DtLinearObjectTransaction& orig);
00062 
00064    virtual void printData() const;
00065 
00067    virtual void printDataToStream(std::ostream& stream) const;
00068 
00072    virtual bool setNumOfBreachLinearSegments(int newNumber);
00073    virtual int numOfBreachLinearSegments() const;
00074 
00075    virtual bool setBreachLinearSegment(
00076       int index, const DtBreachableSegmentRecord& record);
00077    virtual bool breachLinearSegment(
00078       int index, DtBreachableSegmentRecord& record) const;
00079 
00083    virtual bool setNumOfBreachObjectSegments(int newNumber);
00084    virtual int numOfBreachObjectSegments() const;
00085 
00086    virtual bool setBreachObjectSegment(
00087       int index, const DtLinearSegmentRecord& record);
00088    virtual bool breachObjectSegment(
00089       int index, DtLinearSegmentRecord& record) const;
00090 
00091 
00095    virtual bool setNumOfExhaustSmokeSegments(int newNumber);
00096    virtual int numOfExhaustSmokeSegments() const;
00097 
00098    virtual bool setExhaustSmokeSegment(
00099       int index, const DtExhaustSmokeRecord& record);
00100    virtual bool exhaustSmokeSegment(
00101       int index, DtExhaustSmokeRecord& record) const;
00102 
00103 
00107    virtual bool setNumOfMinefldLaneMarkSegments(int newNumber);
00108    virtual int numOfMinefldLaneMarkSegments() const;
00109 
00110    virtual bool setMinefldLaneMarkSegment(
00111       int index, const DtMinefieldLaneMarkerRecord& record);
00112    virtual bool minefldLaneMarkSegment(
00113       int index, DtMinefieldLaneMarkerRecord& record) const;
00114 
00116    virtual const char* name() const;
00117 
00118 public:
00119 
00122    static DtInteraction* create();
00123 
00126    static void addCallback(DtExerciseConn* conn,
00127       DtLinearObjectTransactionCb cb, void* usr,
00128       DtDDMRegionSP region = DtDDMRegionSP());
00129    static void removeCallback(DtExerciseConn* conn,
00130       DtLinearObjectTransactionCb cb, void* usr,
00131       DtDDMRegionSP region = DtDDMRegionSP());
00132 
00133 protected:
00134    int myNumOfBreachLinearSegments;
00135    DtBreachableSegmentRecord* myBreachLinearSegments;
00136 
00137    int myNumOfBreachObjectSegments;
00138    DtLinearSegmentRecord* myBreachObjectSegments;
00139 
00140    int myNumOfExhaustSmokeSegments;
00141    DtExhaustSmokeRecord* myExhaustSmokeSegments;
00142 
00143    int myNumOfMinefldLaneMarkSegments;
00144    DtMinefieldLaneMarkerRecord* myMinefldLaneMarkSegments;
00145 
00146 };
00147 
00148 #endif
00149 #endif //! hLinObjTrans_H_
00150 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)