1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2003 by the OpenSG Forum *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
37 \*---------------------------------------------------------------------------*/
39 #ifndef _OSGFRAMETASKMIXIN_H_
40 #define _OSGFRAMETASKMIXIN_H_
45 #include "OSGFrameHandler.h"
49 /*! \ingroup GrpDynamicsBaseObj
50 \ingroup GrpLibOSGDynamics
52 template <class ParentT
>
53 class FrameTaskMixin
: public ParentT
, public FrameTaskInterface
55 /*========================== PRIVATE ================================*/
59 typedef ParentT Inherited
;
60 typedef FrameTaskInterface Interface
;
62 /*========================== PUBLIC =================================*/
66 typedef FrameTaskMixin
<ParentT
> Self
;
68 typedef typename
ParentT::Desc Desc
;
69 typedef typename
Desc::TypeObject TypeObject
;
71 /*---------------------------------------------------------------------*/
76 /*---------------------------------------------------------------------*/
77 /*! \name General Fieldcontainer Declaration */
81 /*---------------------------------------------------------------------*/
82 /*! \name Constructors */
86 /*---------------------------------------------------------------------*/
87 /*! \name Destructor */
91 /*---------------------------------------------------------------------*/
96 /*---------------------------------------------------------------------*/
101 /*---------------------------------------------------------------------*/
105 /*---------------------------------------------------------------------*/
106 /*! \name Container Access */
110 /*---------------------------------------------------------------------*/
111 /*! \name Binary Access */
115 /*---------------------------------------------------------------------*/
116 /*! \name your_operators */
120 /*---------------------------------------------------------------------*/
121 /*! \name Comparison */
125 /*---------------------------------------------------------------------*/
129 virtual void dump( UInt32 uiIndent
= 0,
130 const BitVector bvFlags
= 0) const;
133 /*========================= PROTECTED ===============================*/
137 bool _bNoFrameFunction
;
139 /*---------------------------------------------------------------------*/
140 /*! \name Type information */
144 /*---------------------------------------------------------------------*/
149 /*---------------------------------------------------------------------*/
153 FrameTaskMixin(void);
154 FrameTaskMixin(const FrameTaskMixin
&source
);
156 virtual ~FrameTaskMixin(void);
159 /*---------------------------------------------------------------------*/
164 /*---------------------------------------------------------------------*/
169 /*---------------------------------------------------------------------*/
173 void onCreateAspect (const Self
*createAspect
,
174 const Self
*source
= NULL
);
175 virtual void onDestroyAspect( UInt32 uiContainerId
,
179 /*========================== PRIVATE ================================*/
183 /*!\brief prohibit default function (move to 'public' if needed) */
184 void operator =(const FrameTaskMixin
&source
);
189 #include "OSGFrameTaskMixin.inl"
191 #endif /* _OSGFRAMETASKMIXIN_H_ */