sl@0: /* sl@0: * Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: KeyframeSequence interface sl@0: * sl@0: */ sl@0: sl@0: #ifndef __M3G_KEYFRAMESEQUENCE_H__ sl@0: #define __M3G_KEYFRAMESEQUENCE_H__ sl@0: sl@0: /*! sl@0: * \internal sl@0: * \file sl@0: * \brief KeyframeSequence interface sl@0: */ sl@0: sl@0: #include "m3g_object.h" sl@0: sl@0: /*! sl@0: * \internal sl@0: * \brief KeyframeSequence class definition sl@0: */ sl@0: sl@0: struct M3GKeyframeSequenceImpl sl@0: { sl@0: Object object; sl@0: sl@0: M3Gfloat *keyframes; sl@0: M3Gint *keyframeTimes; sl@0: M3Gint numKeyframes; sl@0: M3Gint numComponents; sl@0: M3Gint duration; sl@0: M3Gint interpolation; sl@0: M3Gbool closed; sl@0: M3Gint firstValid; sl@0: M3Gint lastValid; sl@0: M3Gint probablyNext; sl@0: M3Gbool dirty; sl@0: M3Gfloat *inTangents; sl@0: M3Gfloat *outTangents; sl@0: M3GQuat *a; sl@0: M3GQuat *b; sl@0: }; sl@0: sl@0: /*---------------------------------------------------------------------- sl@0: * Internal functions sl@0: *--------------------------------------------------------------------*/ sl@0: sl@0: static M3Gint m3gGetNumComponents(const KeyframeSequence *sequence); sl@0: static M3Gint m3gGetSample(KeyframeSequence *sequence, sl@0: M3Gint time, sl@0: M3Gfloat *sample); sl@0: sl@0: #endif /*__M3G_KEYFRAMESEQUENCE_H__*/