It works like for moving Object Ipos to the Action, press the Action icon in the header of the IpoWindow, to the left of the mode selection menu. It then creates an Action (if not existed) and moves the Shape Ipo to the Action, using custom channel "Shape". Main code change was that evaluating Ipo Curves for Relative Shapes had to be recoded, but that's pretty minor and even much cleaner. (added "curval" in the KeyBlock struct). That this feature can work is thanks to the full modifier/derivedmesh recode Daniel did, can't give him enough credits! :) Also; small fixes in Outliner, for clicking on the Ipo icon (sets the Ipo window to show that Ipo).
66 lines
2.1 KiB
C++
66 lines
2.1 KiB
C++
/**
|
|
* $Id$
|
|
*
|
|
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version. The Blender
|
|
* Foundation also sells licenses for use in proprietary software under
|
|
* the Blender License. See http://www.blender.org/BL/ for information
|
|
* about this.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
* All rights reserved.
|
|
*
|
|
* The Original Code is: all of this file.
|
|
*
|
|
* Contributor(s): none yet.
|
|
*
|
|
* ***** END GPL/BL DUAL LICENSE BLOCK *****
|
|
*/
|
|
|
|
#ifndef BIF_EDITKEY_H
|
|
#define BIF_EDITKEY_H
|
|
|
|
struct Key;
|
|
struct KeyBlock;
|
|
struct Mesh;
|
|
struct Object;
|
|
struct Lattice;
|
|
struct Curve;
|
|
struct uiBlock;
|
|
|
|
void mesh_to_key(struct Mesh *me, struct KeyBlock *kb);
|
|
void key_to_mesh(struct KeyBlock *kb, struct Mesh *me);
|
|
void insert_meshkey(struct Mesh *me, short rel);
|
|
|
|
void latt_to_key(struct Lattice *lt, struct KeyBlock *kb);
|
|
void key_to_latt(struct KeyBlock *kb, struct Lattice *lt);
|
|
void insert_lattkey(struct Lattice *lt, short rel);
|
|
|
|
void curve_to_key(struct Curve *cu, struct KeyBlock *kb, ListBase *nurb);
|
|
void key_to_curve(struct KeyBlock *kb, struct Curve *cu, ListBase *nurb);
|
|
void insert_curvekey(struct Curve *cu, short rel);
|
|
|
|
void insert_shapekey(struct Object *ob);
|
|
|
|
void delete_key(struct Object *ob);
|
|
void move_keys(struct Object *ob);
|
|
|
|
void make_rvk_slider(struct uiBlock *block, struct Object *ob, int keynum,
|
|
int x, int y, int w, int h, char *tip);
|
|
|
|
#endif
|
|
|