imesh/animnode/speed.h Source File (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

imesh/animnode/speed.h
Go to the documentation of this file.

    00001 /*
    00002   Copyright (C) 2010 Christian Van Brussel, Institute of Information
    00003       and Communication Technologies, Electronics and Applied Mathematics
    00004       at Universite catholique de Louvain, Belgium
    00005       http://www.uclouvain.be/en-icteam.html
    00006
    00007   This library is free software; you can redistribute it and/or
    00008   modify it under the terms of the GNU Library General Public
    00009   License as published by the Free Software Foundation; either
    00010   version 2 of the License, or (at your option) any later version.
    00011
    00012   This library is distributed in the hope that it will be useful,
    00013   but WITHOUT ANY WARRANTY; without even the implied warranty of
    00014   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    00015   Library General Public License for more details.
    00016
    00017   You should have received a copy of the GNU Library General Public
    00018   License along with this library; if not, write to the Free
    00019   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00020 */
    00021 #ifndef __CS_IMESH_ANIMNODE_SPEED_H__
    00022 #define __CS_IMESH_ANIMNODE_SPEED_H__
    00023
    00028 #include "csutil/scf_interface.h"
    00029 #include "imesh/animnode/skeleton2anim.h"
    00030
    00034 namespace CS {
    00035 namespace Animation {
    00036
    00037 struct iSkeletonSpeedNodeFactory;
    00038
    00043 struct iSkeletonSpeedNodeManager
    00044   : public virtual CS::Animation::iSkeletonAnimNodeManager<CS::Animation::iSkeletonSpeedNodeFactory>
    00045 {
    00046   SCF_ISKELETONANIMNODEMANAGER_INTERFACE (CS::Animation::iSkeletonSpeedNodeManager, 1, 0, 0);
    00047 };
    00048
    00054 struct iSkeletonSpeedNodeFactory : public virtual iSkeletonAnimNodeFactory
    00055 {
    00056   SCF_INTERFACE(CS::Animation::iSkeletonSpeedNodeFactory, 2, 0, 0);
    00057
    00075   virtual void AddNode (iSkeletonAnimNodeFactory* factory, float speed) = 0;
    00076 };
    00077
    00082 struct iSkeletonSpeedNode : public iSkeletonAnimNode
    00083 {
    00084   SCF_INTERFACE(CS::Animation::iSkeletonSpeedNode, 1, 0, 0);
    00085
    00090   virtual void SetSpeed (float speed) = 0;
    00091 };
    00092
    00093 } // namespace Animation
    00094 } // namespace CS
    00095
    00098 #endif //__CS_IMESH_ANIMNODE_SPEED_H__