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