9 #ifndef tReflectedAmo_H_
10 #define tReflectedAmo_H_
24 typedef void (*DtAmoCallbackFunction)(
25 DtReflectedAmo* obj,
void* userData);
37 typedef DtAmoStateRepository* (*DtStateRepCreator)();
45 virtual ~DtReflectedAmo();
50 DtReflectedAmo(
const DtReflectedAmo& orig);
53 DtReflectedAmo&
operator=(
const DtReflectedAmo& orig);
58 virtual DtReflectedAmo*
next()
const;
62 virtual DtAmoStateRepository* amoRep()
const;
65 virtual DtAmoStateRepository* asr()
const;
68 virtual DtReflectedAmo*
prev()
const;
72 virtual DtReflectedAmo*
wrapNext()
const;
76 virtual DtReflectedAmo*
wrapPrev()
const;
79 void removePostUpdateCallback( DtAmoCallbackFunction ,
void* );
82 void addPostUpdateCallback( DtAmoCallbackFunction ,
void* );
91 virtual void printDataToStream(std::ostream& str)
const;
95 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
99 static DtStateRepCreator theStateRepCreator;
104 inline DtAmoStateRepository* DtReflectedAmo::amoRep()
const
106 return (DtAmoStateRepository*) myStateRep;
109 inline DtAmoStateRepository* DtReflectedAmo::asr()
const
111 return (DtAmoStateRepository*) myStateRep;