Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSGActorBase.inl

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002  *                                OpenSG                                     *
00003  *                                                                           *
00004  *                                                                           *
00005  *             Copyright (C) 2000-2002 by the OpenSG Forum                   *
00006  *                                                                           *
00007  *                            www.opensg.org                                 *
00008  *                                                                           *
00009  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *
00010  *                                                                           *
00011 \*---------------------------------------------------------------------------*/
00012 /*---------------------------------------------------------------------------*\
00013  *                                License                                    *
00014  *                                                                           *
00015  * This library is free software; you can redistribute it and/or modify it   *
00016  * under the terms of the GNU Library General Public License as published    *
00017  * by the Free Software Foundation, version 2.                               *
00018  *                                                                           *
00019  * This library is distributed in the hope that it will be useful, but       *
00020  * WITHOUT ANY WARRANTY; without even the implied warranty of                *
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
00022  * Library General Public License for more details.                          *
00023  *                                                                           *
00024  * You should have received a copy of the GNU Library General Public         *
00025  * License along with this library; if not, write to the Free Software       *
00026  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *
00027  *                                                                           *
00028 \*---------------------------------------------------------------------------*/
00029 /*---------------------------------------------------------------------------*\
00030  *                                Changes                                    *
00031  *                                                                           *
00032  *                                                                           *
00033  *                                                                           *
00034  *                                                                           *
00035  *                                                                           *
00036  *                                                                           *
00037 \*---------------------------------------------------------------------------*/
00038 
00039 //----------------------------------------------------------------------------
00040 //    Includes
00041 //----------------------------------------------------------------------------
00042 
00043 #include "OSGNewActionBase.h"
00044 
00045 OSG_BEGIN_NAMESPACE
00046 
00047 //----------------------------------------------------------------------------
00048 //    Types
00049 //----------------------------------------------------------------------------
00050 
00054 inline
00055 ActorBase::ActorBaseState::ActorBaseState(void)
00056 {
00057 }
00058 
00062 inline
00063 ActorBase::ActorBaseState::ActorBaseState(const ActorBaseState &source)
00064 {
00065 }
00066 
00067 //----------------------------------------------------------------------------
00068 //    Config
00069 //----------------------------------------------------------------------------
00070 
00074 inline bool
00075 ActorBase::getEnterNodeFlag(void) const
00076 {
00077     return _enterNodeFlag;
00078 }
00079 
00083 inline bool
00084 ActorBase::getLeaveNodeFlag(void) const
00085 {
00086     return _leaveNodeFlag;
00087 }
00088 
00094 inline void
00095 ActorBase::setEnterNodeFlag(bool enter)
00096 {
00097     _enterNodeFlag = enter;
00098 }
00099 
00105 inline void
00106 ActorBase::setLeaveNodeFlag(bool leave)
00107 {
00108     _leaveNodeFlag = leave;
00109 }
00110 
00111 //----------------------------------------------------------------------------
00112 //    Action Access
00113 //----------------------------------------------------------------------------
00114 
00115 inline const NewActionBase *
00116 ActorBase::getAction(void) const
00117 {
00118     return _pAction;
00119 }
00120 
00121 inline NewActionBase *
00122 ActorBase::getAction(void)
00123 {
00124     return _pAction;
00125 }
00126 
00127 inline UInt32
00128 ActorBase::getActorId(void) const
00129 {
00130     return _actorId;
00131 }
00132 
00133 //----------------------------------------------------------------------------
00134 //    Children Management
00135 //----------------------------------------------------------------------------
00136 
00140 inline bool
00141 ActorBase::getChildrenListEnabled(void) const
00142 {
00143     return _pAction->getChildrenListEnabled();
00144 }
00145 
00149 inline void
00150 ActorBase::setChildrenListEnabled(bool enabled)
00151 {
00152     _pAction->setChildrenListEnabled(enabled);
00153 }
00154 
00158 inline NodePtr
00159 ActorBase::getNode(void) const
00160 {
00161     return _pAction->getChildrenList().getParentNode();
00162 }
00163 
00167 inline UInt32
00168 ActorBase::getNumChildren(void) const
00169 {
00170     return _pAction->getChildrenList().getSize();
00171 }
00172 
00177 inline NodePtr
00178 ActorBase::getChild(UInt32 childIndex) const
00179 {
00180     return _pAction->getChildrenList().getChild(childIndex);
00181 }
00182 
00190 inline bool
00191 ActorBase::getChildActive(UInt32 childIndex) const
00192 {
00193     return _pAction->getChildrenList().getActive(childIndex);
00194 }
00195 
00202 inline void
00203 ActorBase::setChildActive(UInt32 childIndex, bool active)
00204 {
00205     _pAction->getChildrenList().setActive(childIndex, active);
00206 }
00207 
00214 inline ActorBase::PriorityType
00215 ActorBase::getChildPriority(UInt32 childIndex) const
00216 {
00217     return _pAction->getChildrenList().getPriority(childIndex);
00218 }
00219 
00226 inline void
00227 ActorBase::setChildPriority(UInt32 childIndex, PriorityType prio)
00228 {
00229     _pAction->getChildrenList().setPriority(childIndex, prio);
00230 }
00231 
00232 //----------------------------------------------------------------------------
00233 //    Extra Children Management
00234 //----------------------------------------------------------------------------
00235 
00239 inline UInt32
00240 ActorBase::getNumExtraChildren(void) const
00241 {
00242     return _pAction->getExtraChildrenList().getSize();
00243 }
00244 
00249 inline NodePtr
00250 ActorBase::getExtraChild(UInt32 childIndex) const
00251 {
00252     return _pAction->getExtraChildrenList().getChild(childIndex);
00253 }
00254 
00260 inline bool
00261 ActorBase::getExtraChildActive(UInt32 childIndex) const
00262 {
00263     return _pAction->getExtraChildrenList().getActive(childIndex);
00264 }
00265 
00270 inline void
00271 ActorBase::setExtraChildActive(UInt32 childIndex, bool active)
00272 {
00273     _pAction->getExtraChildrenList().setActive(childIndex, active);
00274 }
00275 
00280 inline ActorBase::PriorityType
00281 ActorBase::getExtraChildPriority(UInt32 childIndex) const
00282 {
00283     return _pAction->getExtraChildrenList().getPriority(childIndex);
00284 }
00285 
00290 inline void
00291 ActorBase::setExtraChildPriority(UInt32 childIndex, PriorityType prio)
00292 {
00293     _pAction->getExtraChildrenList().setPriority(childIndex, prio);
00294 }
00295 
00296 //----------------------------------------------------------------------------
00297 //    Multi Pass Management
00298 //----------------------------------------------------------------------------
00299 
00304 inline UInt32
00305 ActorBase::getNumPasses(void) const
00306 {
00307     return _pAction->getNumPasses();
00308 }
00309 
00310 //----------------------------------------------------------------------------
00311 //    State Management
00312 //----------------------------------------------------------------------------
00313 
00325 inline void
00326 ActorBase::beginEditState(void)
00327 {
00328     _pAction->beginEditStateEvent(this, _actorId);
00329 }
00330 
00340 inline void
00341 ActorBase::endEditState(void)
00342 {
00343     _pAction->endEditStateEvent(this, _actorId);
00344 }
00345 
00349 inline const ActorBase::ActorBaseState *
00350 ActorBase::getState(void) const
00351 {
00352     return _pState;
00353 }
00354 
00358 inline ActorBase::ActorBaseState *
00359 ActorBase::getState(void)
00360 {
00361     return _pState;
00362 }
00363 
00367 inline void
00368 ActorBase::setState(ActorBaseState *pState)
00369 {
00370     _pState = pState;
00371 }
00372 
00373 #ifdef OSG_NEWACTION_STATESLOTINTERFACE
00374 
00378 inline const ActorBase::StateSlotMap &
00379 ActorBase::getSlotMap(void) const
00380 {
00381     return _stateSlotMap;
00382 }
00383 
00387 inline ActorBase::StateSlotMap &
00388 ActorBase::getSlotMap(void)
00389 {
00390     return _stateSlotMap;
00391 }
00392 
00393 #endif
00394 
00395 OSG_END_NAMESPACE
00396 
00397 #define OSGACTORBASE_INLINE_CVSID "@(#)$Id: OSGActorBase.inl,v 1.6 2004/09/17 14:09:42 neumannc Exp $"

Generated on Thu Aug 25 04:00:59 2005 for OpenSG by  doxygen 1.4.3