VR-Link API Documentation for DIS
hReflArealObj.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 hReflArealObj_H_
00008 #define hReflArealObj_H_
00009 
00010 #if DtHLA 
00011 
00012 #include "arealObjectSR.h"
00013 #include "hReflectedObj.h"
00014 
00019 
00022 class DT_DLL_VL DtReflectedArealObject;
00023 typedef void (*DtArealObjectCallbackFunction)(
00024    DtReflectedArealObject* obj, void* userData);
00025 
00030 
00031 class DT_DLL_VL DtReflectedArealObject : public DtReflectedObject
00032 {
00033 public:
00034 
00036    typedef DtArealObjectRepository* (*DtStateRepCreator)();
00037 
00038 public:
00039 
00041    DtReflectedArealObject(DtHlaObject* obj, DtExerciseConn* conn);
00042 
00044    virtual ~DtReflectedArealObject();
00045 
00047    virtual DtArealObjectRepository* arealObjectRep() const;
00048 
00050    virtual DtArealObjectRepository* aosr() const;
00051 
00053    virtual DtReflectedArealObject* next() const;
00054 
00056    virtual DtReflectedArealObject* prev() const;
00057 
00060    virtual DtReflectedArealObject* wrapNext() const;
00061 
00064    virtual DtReflectedArealObject* wrapPrev() const;
00065 
00067    virtual void addPostUpdateCallback(
00068       DtArealObjectCallbackFunction cb, void* userData);
00069 
00070    virtual void removePostUpdateCallback(
00071       DtArealObjectCallbackFunction cb, void* userData);
00072 
00073 public:
00074 
00076    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00077 
00078 protected:
00079 
00081    DtReflectedArealObject(const DtReflectedArealObject& orig);
00082 
00084    DtReflectedArealObject& operator=(const DtReflectedArealObject& orig);
00085 
00086 protected:
00087 
00088    static DtStateRepCreator theStateRepCreator;
00089 };
00090 
00091 inline DtArealObjectRepository* DtReflectedArealObject::arealObjectRep() const
00092 { 
00093    return (DtArealObjectRepository*) myStateRep;
00094 }
00095 
00096 inline DtArealObjectRepository* DtReflectedArealObject::aosr() const
00097 {
00098    return (DtArealObjectRepository*) myStateRep;
00099 }
00100 
00101 #endif   //hReflArealObj_H_
00102 #endif   //DtHLA
00103 

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)