- added decimate modifier & removed old decimate interface (currently lacks warning about destroying data, and there needs to be a way for modifiers to return errors back to the interface) - allow applyModifier to return NULL to indicate error - unfortunately new decimate modifier means it does not know exact number of faces in mesh (other modifiers may come before) and so instead interface uses a percentage. if people need exact face count slider then I will have to think of some hack to fit this in. note that it does display the output face count so its possible to tweak the pct to get what you want regardless. - removed python Wave object If you are bored now how much easier it is to implement something like decimate as a modifier. Very few changes to interface, very few entry points.
69 lines
2.2 KiB
C++
69 lines
2.2 KiB
C++
/**
|
|
* blenlib/BKE_effect.h (mar-2001 nzc)
|
|
*
|
|
* $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 BKE_EFFECT_H
|
|
#define BKE_EFFECT_H
|
|
|
|
struct Effect;
|
|
struct ListBase;
|
|
struct Object;
|
|
struct PartEff;
|
|
struct MTex;
|
|
struct Mesh;
|
|
struct WaveEff;
|
|
struct Particle;
|
|
|
|
struct Effect *add_effect(int type);
|
|
void free_effect(struct Effect *eff);
|
|
void free_effects(struct ListBase *lb);
|
|
struct Effect *copy_effect(struct Effect *eff);
|
|
void copy_act_effect(struct Object *ob);
|
|
void copy_effects(struct ListBase *lbn, struct ListBase *lb);
|
|
void deselectall_eff(struct Object *ob);
|
|
struct PartEff *give_parteff(struct Object *ob);
|
|
void where_is_particle(struct PartEff *paf, struct Particle *pa, float ctime, float *vec);
|
|
void build_particle_system(struct Object *ob);
|
|
|
|
/* particle deflector */
|
|
#define PE_WIND_AS_SPEED 0x00000001
|
|
|
|
void pdDoEffector(float *opco, float *force, float *speed, float cur_time, unsigned int par_layer,unsigned int flags);
|
|
|
|
int SoftBodyDetectCollision(float opco[3], float npco[3], float colco[3],
|
|
float facenormal[3], float *damp, float force[3], int mode,
|
|
float cur_time, unsigned int par_layer,struct Object *vertexowner);
|
|
|
|
|
|
#endif
|
|
|