2011-02-23 10:52:22 +00:00
/*
2008-12-01 13:01:48 +00:00
* $ Id $
*
* * * * * * BEGIN GPL 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 .
*
* 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 ,
2010-02-12 13:34:04 +00:00
* Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA .
2008-12-01 13:01:48 +00:00
*
2009-01-03 07:25:22 +00:00
* Contributor ( s ) : Blender Foundation ( 2008 ) , Juho Veps ‰ l ‰ inen
2008-12-01 13:01:48 +00:00
*
* * * * * * END GPL LICENSE BLOCK * * * * *
*/
2009-01-02 02:25:29 +00:00
# include <float.h>
2009-01-02 04:45:13 +00:00
# include <limits.h>
2008-12-01 13:01:48 +00:00
# include <stdlib.h>
# include "RNA_define.h"
# include "rna_internal.h"
2009-01-02 01:28:02 +00:00
# include "DNA_armature_types.h"
2008-12-01 13:01:48 +00:00
# include "DNA_modifier_types.h"
2009-01-08 13:57:29 +00:00
# include "DNA_object_types.h"
2009-08-02 19:39:33 +00:00
# include "DNA_object_force.h"
2009-01-01 21:49:04 +00:00
# include "DNA_scene_types.h"
2008-12-01 13:01:48 +00:00
2010-08-16 05:46:10 +00:00
# include "MEM_guardedalloc.h"
2010-03-22 08:49:12 +00:00
# include "BLI_math.h"
2009-10-20 04:07:57 +00:00
# include "BKE_animsys.h"
2009-01-02 10:19:58 +00:00
# include "BKE_bmesh.h" /* For BevelModifierData */
2010-06-01 19:26:35 +00:00
# include "BKE_multires.h"
2009-07-31 01:40:15 +00:00
# include "BKE_smoke.h" /* For smokeModifier_free & smokeModifier_createType */
2009-01-02 10:19:58 +00:00
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
# include "WM_api.h"
2009-01-03 07:25:22 +00:00
# include "WM_types.h"
2009-04-27 18:05:58 +00:00
EnumPropertyItem modifier_type_items [ ] = {
2009-08-21 02:51:56 +00:00
{ 0 , " " , 0 , " Generate " , " " } ,
2009-06-23 11:00:35 +00:00
{ eModifierType_Array , " ARRAY " , ICON_MOD_ARRAY , " Array " , " " } ,
{ eModifierType_Bevel , " BEVEL " , ICON_MOD_BEVEL , " Bevel " , " " } ,
{ eModifierType_Boolean , " BOOLEAN " , ICON_MOD_BOOLEAN , " Boolean " , " " } ,
{ eModifierType_Build , " BUILD " , ICON_MOD_BUILD , " Build " , " " } ,
2009-08-21 02:51:56 +00:00
{ eModifierType_Decimate , " DECIMATE " , ICON_MOD_DECIM , " Decimate " , " " } ,
{ eModifierType_EdgeSplit , " EDGE_SPLIT " , ICON_MOD_EDGESPLIT , " Edge Split " , " " } ,
{ eModifierType_Mask , " MASK " , ICON_MOD_MASK , " Mask " , " " } ,
{ eModifierType_Mirror , " MIRROR " , ICON_MOD_MIRROR , " Mirror " , " " } ,
{ eModifierType_Multires , " MULTIRES " , ICON_MOD_MULTIRES , " Multiresolution " , " " } ,
2010-05-17 14:56:00 +00:00
{ eModifierType_Screw , " SCREW " , ICON_MOD_SCREW , " Screw " , " " } ,
2010-01-22 02:23:28 +00:00
{ eModifierType_Solidify , " SOLIDIFY " , ICON_MOD_SOLIDIFY , " Solidify " , " " } ,
2009-08-21 02:51:56 +00:00
{ eModifierType_Subsurf , " SUBSURF " , ICON_MOD_SUBSURF , " Subdivision Surface " , " " } ,
{ eModifierType_UVProject , " UV_PROJECT " , ICON_MOD_UVPROJECT , " UV Project " , " " } ,
2009-08-23 21:56:32 +00:00
{ 0 , " " , 0 , " Deform " , " " } ,
2009-08-21 02:51:56 +00:00
{ eModifierType_Armature , " ARMATURE " , ICON_MOD_ARMATURE , " Armature " , " " } ,
2009-06-23 11:00:35 +00:00
{ eModifierType_Cast , " CAST " , ICON_MOD_CAST , " Cast " , " " } ,
{ eModifierType_Curve , " CURVE " , ICON_MOD_CURVE , " Curve " , " " } ,
{ eModifierType_Displace , " DISPLACE " , ICON_MOD_DISPLACE , " Displace " , " " } ,
{ eModifierType_Hook , " HOOK " , ICON_HOOK , " Hook " , " " } ,
{ eModifierType_Lattice , " LATTICE " , ICON_MOD_LATTICE , " Lattice " , " " } ,
{ eModifierType_MeshDeform , " MESH_DEFORM " , ICON_MOD_MESHDEFORM , " Mesh Deform " , " " } ,
{ eModifierType_Shrinkwrap , " SHRINKWRAP " , ICON_MOD_SHRINKWRAP , " Shrinkwrap " , " " } ,
{ eModifierType_SimpleDeform , " SIMPLE_DEFORM " , ICON_MOD_SIMPLEDEFORM , " Simple Deform " , " " } ,
2009-08-21 02:51:56 +00:00
{ eModifierType_Smooth , " SMOOTH " , ICON_MOD_SMOOTH , " Smooth " , " " } ,
{ eModifierType_Wave , " WAVE " , ICON_MOD_WAVE , " Wave " , " " } ,
2009-10-20 11:26:21 +00:00
{ 0 , " " , 0 , " Simulate " , " " } ,
2009-08-21 02:51:56 +00:00
{ eModifierType_Cloth , " CLOTH " , ICON_MOD_CLOTH , " Cloth " , " " } ,
{ eModifierType_Collision , " COLLISION " , ICON_MOD_PHYSICS , " Collision " , " " } ,
{ eModifierType_Explode , " EXPLODE " , ICON_MOD_EXPLODE , " Explode " , " " } ,
{ eModifierType_Fluidsim , " FLUID_SIMULATION " , ICON_MOD_FLUIDSIM , " Fluid Simulation " , " " } ,
{ eModifierType_ParticleInstance , " PARTICLE_INSTANCE " , ICON_MOD_PARTICLES , " Particle Instance " , " " } ,
{ eModifierType_ParticleSystem , " PARTICLE_SYSTEM " , ICON_MOD_PARTICLES , " Particle System " , " " } ,
2009-09-07 09:43:04 +00:00
{ eModifierType_Smoke , " SMOKE " , ICON_MOD_SMOKE , " Smoke " , " " } ,
2009-08-06 13:15:23 +00:00
{ eModifierType_Softbody , " SOFT_BODY " , ICON_MOD_SOFT , " Soft Body " , " " } ,
2009-07-02 19:41:31 +00:00
{ eModifierType_Surface , " SURFACE " , ICON_MOD_PHYSICS , " Surface " , " " } ,
2009-06-16 00:52:21 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-04-27 18:05:58 +00:00
2008-12-01 13:01:48 +00:00
# ifdef RNA_RUNTIME
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
# include "DNA_particle_types.h"
# include "DNA_smoke_types.h"
2009-01-03 07:25:22 +00:00
# include "BKE_context.h"
# include "BKE_depsgraph.h"
2009-05-27 00:03:49 +00:00
# include "BKE_library.h"
2009-10-09 09:48:04 +00:00
# include "BKE_modifier.h"
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
# include "BKE_particle.h"
2009-01-03 07:25:22 +00:00
2009-01-03 23:14:33 +00:00
static void rna_UVProject_projectors_begin ( CollectionPropertyIterator * iter , PointerRNA * ptr )
{
UVProjectModifierData * uvp = ( UVProjectModifierData * ) ptr - > data ;
2009-08-21 02:51:56 +00:00
rna_iterator_array_begin ( iter , ( void * ) uvp - > projectors , sizeof ( Object * ) , uvp - > num_projectors , 0 , NULL ) ;
2009-01-03 23:14:33 +00:00
}
2008-12-29 17:36:06 +00:00
static StructRNA * rna_Modifier_refine ( struct PointerRNA * ptr )
{
ModifierData * md = ( ModifierData * ) ptr - > data ;
switch ( md - > type ) {
case eModifierType_Subsurf :
return & RNA_SubsurfModifier ;
case eModifierType_Lattice :
return & RNA_LatticeModifier ;
case eModifierType_Curve :
return & RNA_CurveModifier ;
case eModifierType_Build :
return & RNA_BuildModifier ;
case eModifierType_Mirror :
return & RNA_MirrorModifier ;
case eModifierType_Decimate :
return & RNA_DecimateModifier ;
case eModifierType_Wave :
return & RNA_WaveModifier ;
case eModifierType_Armature :
return & RNA_ArmatureModifier ;
case eModifierType_Hook :
return & RNA_HookModifier ;
case eModifierType_Softbody :
2009-07-02 19:41:31 +00:00
return & RNA_SoftBodyModifier ;
2008-12-29 17:36:06 +00:00
case eModifierType_Boolean :
return & RNA_BooleanModifier ;
case eModifierType_Array :
return & RNA_ArrayModifier ;
case eModifierType_EdgeSplit :
return & RNA_EdgeSplitModifier ;
case eModifierType_Displace :
return & RNA_DisplaceModifier ;
case eModifierType_UVProject :
return & RNA_UVProjectModifier ;
case eModifierType_Smooth :
return & RNA_SmoothModifier ;
case eModifierType_Cast :
return & RNA_CastModifier ;
case eModifierType_MeshDeform :
return & RNA_MeshDeformModifier ;
case eModifierType_ParticleSystem :
return & RNA_ParticleSystemModifier ;
case eModifierType_ParticleInstance :
return & RNA_ParticleInstanceModifier ;
case eModifierType_Explode :
return & RNA_ExplodeModifier ;
case eModifierType_Cloth :
return & RNA_ClothModifier ;
case eModifierType_Collision :
return & RNA_CollisionModifier ;
case eModifierType_Bevel :
return & RNA_BevelModifier ;
case eModifierType_Shrinkwrap :
return & RNA_ShrinkwrapModifier ;
case eModifierType_Fluidsim :
return & RNA_FluidSimulationModifier ;
case eModifierType_Mask :
return & RNA_MaskModifier ;
case eModifierType_SimpleDeform :
return & RNA_SimpleDeformModifier ;
2009-01-06 20:15:23 +00:00
case eModifierType_Multires :
return & RNA_MultiresModifier ;
2009-07-02 19:41:31 +00:00
case eModifierType_Surface :
return & RNA_SurfaceModifier ;
2009-07-30 15:00:26 +00:00
case eModifierType_Smoke :
return & RNA_SmokeModifier ;
2009-12-21 01:02:08 +00:00
case eModifierType_Solidify :
return & RNA_SolidifyModifier ;
2010-03-22 00:22:52 +00:00
case eModifierType_Screw :
return & RNA_ScrewModifier ;
2008-12-29 17:36:06 +00:00
default :
return & RNA_Modifier ;
}
}
2009-10-09 09:48:04 +00:00
void rna_Modifier_name_set ( PointerRNA * ptr , const char * value )
{
ModifierData * md = ptr - > data ;
2010-04-04 14:33:41 +00:00
char oldname [ sizeof ( md - > name ) ] ;
Bugfix #19663: Renaming named data doesn't fix F-Curves
RNA Paths used in F-Curve, Drivers, etc. now get renamed when some data that they use gets renamed. This only works when things like Bones, Constraints, Shape Keys, and Modifiers get renamed, but other cases can get added easily.
The code here only performs simple string replacements, so there is the potential for problems when several sets of data with the same names are present. For example, if there are multiple armatures with bones that have the same names, renaming a bone on one armature (with a bone on another armature having the same name) will break all the drivers on the other one, even though they aren't really connected. However, I don't expect the aforementioned scenario to really be a problem in most production scenarios.
2009-10-20 03:44:35 +00:00
/* make a copy of the old name first */
2010-04-04 14:33:41 +00:00
BLI_strncpy ( oldname , md - > name , sizeof ( md - > name ) ) ;
2009-10-09 09:48:04 +00:00
/* copy the new name into the name slot */
BLI_strncpy ( md - > name , value , sizeof ( md - > name ) ) ;
/* make sure the name is truly unique */
if ( ptr - > id . data ) {
Object * ob = ptr - > id . data ;
modifier_unique_name ( & ob - > modifiers , md ) ;
}
Bugfix #19663: Renaming named data doesn't fix F-Curves
RNA Paths used in F-Curve, Drivers, etc. now get renamed when some data that they use gets renamed. This only works when things like Bones, Constraints, Shape Keys, and Modifiers get renamed, but other cases can get added easily.
The code here only performs simple string replacements, so there is the potential for problems when several sets of data with the same names are present. For example, if there are multiple armatures with bones that have the same names, renaming a bone on one armature (with a bone on another armature having the same name) will break all the drivers on the other one, even though they aren't really connected. However, I don't expect the aforementioned scenario to really be a problem in most production scenarios.
2009-10-20 03:44:35 +00:00
/* fix all the animation data which may link to this */
BKE_all_animdata_fix_paths_rename ( " modifiers " , oldname , md - > name ) ;
2009-10-09 09:48:04 +00:00
}
2009-05-27 00:03:49 +00:00
static char * rna_Modifier_path ( PointerRNA * ptr )
{
2009-10-09 09:48:04 +00:00
return BLI_sprintfN ( " modifiers[ \" %s \" ] " , ( ( ModifierData * ) ptr - > data ) - > name ) ;
2009-05-27 00:03:49 +00:00
}
2009-12-08 17:23:48 +00:00
static void rna_Modifier_update ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-01-03 07:25:22 +00:00
{
2010-12-05 18:59:23 +00:00
DAG_id_tag_update ( ptr - > id . data , OB_RECALC_DATA ) ;
2009-12-08 17:23:48 +00:00
WM_main_add_notifier ( NC_OBJECT | ND_MODIFIER , ptr - > id . data ) ;
2009-01-03 07:25:22 +00:00
}
2009-12-08 17:23:48 +00:00
static void rna_Modifier_dependency_update ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-05-27 00:03:49 +00:00
{
2009-12-08 17:23:48 +00:00
rna_Modifier_update ( bmain , scene , ptr ) ;
2010-08-01 12:47:49 +00:00
DAG_scene_sort ( bmain , scene ) ;
2009-05-27 00:03:49 +00:00
}
2009-12-08 17:23:48 +00:00
static void rna_Smoke_set_type ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-07-30 15:00:26 +00:00
{
SmokeModifierData * smd = ( SmokeModifierData * ) ptr - > data ;
2009-07-30 22:11:28 +00:00
Object * ob = ( Object * ) ptr - > id . data ;
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
ParticleSystemModifierData * psmd = NULL ;
ParticleSystem * psys = NULL ;
ParticleSettings * part = NULL ;
2009-08-20 00:33:59 +00:00
// nothing changed
if ( ( smd - > type & MOD_SMOKE_TYPE_DOMAIN ) & & smd - > domain )
return ;
2009-07-30 15:00:26 +00:00
smokeModifier_free ( smd ) ; // XXX TODO: completely free all 3 pointers
smokeModifier_createType ( smd ) ; // create regarding of selected type
2009-07-30 22:11:28 +00:00
2009-11-11 11:49:46 +00:00
switch ( smd - > type ) {
case MOD_SMOKE_TYPE_DOMAIN :
2010-08-01 12:16:32 +00:00
ob - > dt = OB_WIRE ;
2009-11-11 11:49:46 +00:00
break ;
case MOD_SMOKE_TYPE_FLOW :
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
for ( psys = ob - > particlesystem . first ; psys ; psys = psys - > next )
if ( psys - > part - > type = = PART_EMITTER )
break ;
if ( ob - > type = = OB_MESH & & ! psys ) {
/* add particle system */
2010-07-29 00:44:53 +00:00
psmd = ( ParticleSystemModifierData * ) object_add_particle_system ( scene , ob , NULL ) ;
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
if ( psmd )
{
psys = psmd - > psys ;
part = psys - > part ;
part - > lifetime = 1.0f ;
part - > sta = 1.0f ;
part - > end = 250.0f ;
part - > ren_as = PART_DRAW_NOT ;
2010-12-20 10:23:23 +00:00
part - > draw_as = PART_DRAW_DOT ;
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
sprintf ( psys - > name , " SmokeParticles " ) ;
psys - > recalc | = ( PSYS_RECALC_RESET | PSYS_RECALC_PHYS ) ;
2010-12-05 18:59:23 +00:00
DAG_id_tag_update ( ptr - > id . data , OB_RECALC_DATA ) ;
Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations.
2010-07-27 14:53:20 +00:00
}
}
if ( smd - > flow )
smd - > flow - > psys = psys ;
2009-11-11 11:49:46 +00:00
case MOD_SMOKE_TYPE_COLL :
case 0 :
default :
2009-12-07 10:28:36 +00:00
ob - > dt = OB_TEXTURE ;
2009-11-11 11:49:46 +00:00
break ;
}
2009-07-30 15:00:26 +00:00
// update dependancy since a domain - other type switch could have happened
2009-12-08 17:23:48 +00:00
rna_Modifier_dependency_update ( bmain , scene , ptr ) ;
2009-07-30 15:00:26 +00:00
}
2009-01-04 19:25:24 +00:00
static void rna_ExplodeModifier_vgroup_get ( PointerRNA * ptr , char * value )
{
ExplodeModifierData * emd = ( ExplodeModifierData * ) ptr - > data ;
rna_object_vgroup_name_index_get ( ptr , value , emd - > vgroup ) ;
}
static int rna_ExplodeModifier_vgroup_length ( PointerRNA * ptr )
{
ExplodeModifierData * emd = ( ExplodeModifierData * ) ptr - > data ;
return rna_object_vgroup_name_index_length ( ptr , emd - > vgroup ) ;
}
static void rna_ExplodeModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
ExplodeModifierData * emd = ( ExplodeModifierData * ) ptr - > data ;
rna_object_vgroup_name_index_set ( ptr , value , & emd - > vgroup ) ;
}
static void rna_SimpleDeformModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
SimpleDeformModifierData * smd = ( SimpleDeformModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , smd - > vgroup_name , sizeof ( smd - > vgroup_name ) ) ;
}
static void rna_ShrinkwrapModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
ShrinkwrapModifierData * smd = ( ShrinkwrapModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , smd - > vgroup_name , sizeof ( smd - > vgroup_name ) ) ;
}
static void rna_LatticeModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
LatticeModifierData * lmd = ( LatticeModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > name , sizeof ( lmd - > name ) ) ;
}
static void rna_ArmatureModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
ArmatureModifierData * lmd = ( ArmatureModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > defgrp_name , sizeof ( lmd - > defgrp_name ) ) ;
}
static void rna_CurveModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
CurveModifierData * lmd = ( CurveModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > name , sizeof ( lmd - > name ) ) ;
}
static void rna_DisplaceModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
DisplaceModifierData * lmd = ( DisplaceModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > defgrp_name , sizeof ( lmd - > defgrp_name ) ) ;
}
static void rna_HookModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
HookModifierData * lmd = ( HookModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > name , sizeof ( lmd - > name ) ) ;
}
static void rna_MaskModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
MaskModifierData * lmd = ( MaskModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > vgroup , sizeof ( lmd - > vgroup ) ) ;
}
static void rna_MeshDeformModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
MeshDeformModifierData * lmd = ( MeshDeformModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > defgrp_name , sizeof ( lmd - > defgrp_name ) ) ;
}
static void rna_SmoothModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
SmoothModifierData * lmd = ( SmoothModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > defgrp_name , sizeof ( lmd - > defgrp_name ) ) ;
}
static void rna_WaveModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
WaveModifierData * lmd = ( WaveModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > defgrp_name , sizeof ( lmd - > defgrp_name ) ) ;
}
static void rna_CastModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
CastModifierData * lmd = ( CastModifierData * ) ptr - > data ;
rna_object_vgroup_name_set ( ptr , value , lmd - > defgrp_name , sizeof ( lmd - > defgrp_name ) ) ;
}
2009-12-21 01:02:08 +00:00
static void rna_SolidifyModifier_vgroup_set ( PointerRNA * ptr , const char * value )
{
SolidifyModifierData * smd = ( SolidifyModifierData * ) ptr - > data ;
2010-01-26 09:36:33 +00:00
rna_object_vgroup_name_set ( ptr , value , smd - > defgrp_name , sizeof ( smd - > defgrp_name ) ) ;
2009-12-21 01:02:08 +00:00
}
2009-01-04 19:25:24 +00:00
static void rna_DisplaceModifier_uvlayer_set ( PointerRNA * ptr , const char * value )
{
DisplaceModifierData * smd = ( DisplaceModifierData * ) ptr - > data ;
rna_object_uvlayer_name_set ( ptr , value , smd - > uvlayer_name , sizeof ( smd - > uvlayer_name ) ) ;
}
static void rna_UVProjectModifier_uvlayer_set ( PointerRNA * ptr , const char * value )
{
UVProjectModifierData * umd = ( UVProjectModifierData * ) ptr - > data ;
rna_object_uvlayer_name_set ( ptr , value , umd - > uvlayer_name , sizeof ( umd - > uvlayer_name ) ) ;
}
static void rna_WaveModifier_uvlayer_set ( PointerRNA * ptr , const char * value )
{
WaveModifierData * wmd = ( WaveModifierData * ) ptr - > data ;
rna_object_uvlayer_name_set ( ptr , value , wmd - > uvlayer_name , sizeof ( wmd - > uvlayer_name ) ) ;
}
2009-02-05 01:12:47 +00:00
static void rna_MultiresModifier_level_range ( PointerRNA * ptr , int * min , int * max )
{
MultiresModifierData * mmd = ( MultiresModifierData * ) ptr - > data ;
2009-11-25 14:07:12 +00:00
* min = 0 ;
2009-02-05 01:12:47 +00:00
* max = mmd - > totlvl ;
}
2009-11-25 14:27:50 +00:00
static int rna_MultiresModifier_external_get ( PointerRNA * ptr )
2009-11-25 14:07:12 +00:00
{
Object * ob = ( Object * ) ptr - > id . data ;
Mesh * me = ob - > data ;
return CustomData_external_test ( & me - > fdata , CD_MDISPS ) ;
}
2010-06-02 17:58:28 +00:00
static void rna_MultiresModifier_filepath_get ( PointerRNA * ptr , char * value )
2009-11-25 14:07:12 +00:00
{
Object * ob = ( Object * ) ptr - > id . data ;
2009-12-10 14:26:06 +00:00
CustomDataExternal * external = ( ( Mesh * ) ob - > data ) - > fdata . external ;
BLI_strncpy ( value , ( external ) ? external - > filename : " " , sizeof ( external - > filename ) ) ;
}
2010-06-02 17:58:28 +00:00
static void rna_MultiresModifier_filepath_set ( PointerRNA * ptr , const char * value )
2009-12-10 14:26:06 +00:00
{
Object * ob = ( Object * ) ptr - > id . data ;
CustomDataExternal * external = ( ( Mesh * ) ob - > data ) - > fdata . external ;
2010-06-01 19:26:35 +00:00
if ( external & & strcmp ( external - > filename , value ) ) {
2009-12-10 14:26:06 +00:00
BLI_strncpy ( external - > filename , value , sizeof ( external - > filename ) ) ;
2010-06-01 19:26:35 +00:00
multires_force_external_reload ( ob ) ;
}
2009-12-10 14:26:06 +00:00
}
2010-06-02 17:58:28 +00:00
static int rna_MultiresModifier_filepath_length ( PointerRNA * ptr )
2009-12-10 14:26:06 +00:00
{
Object * ob = ( Object * ) ptr - > id . data ;
CustomDataExternal * external = ( ( Mesh * ) ob - > data ) - > fdata . external ;
2009-11-25 14:07:12 +00:00
2009-12-10 14:26:06 +00:00
return strlen ( ( external ) ? external - > filename : " " ) ;
2009-11-25 14:07:12 +00:00
}
2009-10-19 12:13:32 +00:00
static void modifier_object_set ( Object * self , Object * * ob_p , int type , PointerRNA value )
2009-05-27 00:03:49 +00:00
{
Object * ob = value . data ;
2009-10-19 12:13:32 +00:00
if ( ! self | | ob ! = self )
2010-03-26 18:15:06 +00:00
if ( ! ob | | type = = OB_EMPTY | | ob - > type = = type )
2009-10-19 12:13:32 +00:00
* ob_p = ob ;
2009-05-27 00:03:49 +00:00
}
static void rna_LatticeModifier_object_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( LatticeModifierData * ) ptr - > data ) - > object , OB_LATTICE , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_BooleanModifier_object_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( BooleanModifierData * ) ptr - > data ) - > object , OB_MESH , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_CurveModifier_object_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( CurveModifierData * ) ptr - > data ) - > object , OB_CURVE , value ) ;
2009-05-27 00:03:49 +00:00
}
2009-07-28 06:26:10 +00:00
static void rna_CastModifier_object_set ( PointerRNA * ptr , PointerRNA value )
{
2010-03-26 18:15:06 +00:00
modifier_object_set ( ptr - > id . data , & ( ( CastModifierData * ) ptr - > data ) - > object , OB_EMPTY , value ) ;
2009-07-28 06:26:10 +00:00
}
2009-05-27 00:03:49 +00:00
static void rna_ArmatureModifier_object_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( ArmatureModifierData * ) ptr - > data ) - > object , OB_ARMATURE , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_MaskModifier_armature_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( MaskModifierData * ) ptr - > data ) - > ob_arm , OB_ARMATURE , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_ShrinkwrapModifier_auxiliary_target_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( ShrinkwrapModifierData * ) ptr - > data ) - > auxTarget , OB_MESH , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_ShrinkwrapModifier_target_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( ShrinkwrapModifierData * ) ptr - > data ) - > target , OB_MESH , value ) ;
2009-05-27 00:03:49 +00:00
}
2011-02-19 09:53:38 +00:00
static int rna_ShrinkwrapModifier_face_cull_get ( PointerRNA * ptr )
{
ShrinkwrapModifierData * swm = ( ShrinkwrapModifierData * ) ptr - > data ;
return swm - > shrinkOpts & ( MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE | MOD_SHRINKWRAP_CULL_TARGET_BACKFACE ) ;
}
static void rna_ShrinkwrapModifier_face_cull_set ( struct PointerRNA * ptr , int value )
{
ShrinkwrapModifierData * swm = ( ShrinkwrapModifierData * ) ptr - > data ;
swm - > shrinkOpts = ( swm - > shrinkOpts & ~ ( MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE | MOD_SHRINKWRAP_CULL_TARGET_BACKFACE ) ) | value ;
}
2009-05-27 00:03:49 +00:00
static void rna_MeshDeformModifier_object_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( MeshDeformModifierData * ) ptr - > data ) - > object , OB_MESH , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_ArrayModifier_end_cap_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( ArrayModifierData * ) ptr - > data ) - > end_cap , OB_MESH , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_ArrayModifier_start_cap_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( ArrayModifierData * ) ptr - > data ) - > start_cap , OB_MESH , value ) ;
2009-05-27 00:03:49 +00:00
}
static void rna_ArrayModifier_curve_set ( PointerRNA * ptr , PointerRNA value )
{
2009-10-19 12:13:32 +00:00
modifier_object_set ( ptr - > id . data , & ( ( ArrayModifierData * ) ptr - > data ) - > curve_ob , OB_CURVE , value ) ;
2009-05-27 00:03:49 +00:00
}
2009-09-11 09:09:54 +00:00
static int rna_MeshDeformModifier_is_bound_get ( PointerRNA * ptr )
{
2010-04-25 10:27:45 +00:00
return ( ( ( MeshDeformModifierData * ) ptr - > data ) - > bindcagecos ! = NULL ) ;
2009-09-11 09:09:54 +00:00
}
2009-07-02 19:41:31 +00:00
static PointerRNA rna_SoftBodyModifier_settings_get ( PointerRNA * ptr )
{
Object * ob = ( Object * ) ptr - > id . data ;
return rna_pointer_inherit_refine ( ptr , & RNA_SoftBodySettings , ob - > soft ) ;
}
2009-08-02 19:39:33 +00:00
static PointerRNA rna_SoftBodyModifier_point_cache_get ( PointerRNA * ptr )
{
Object * ob = ( Object * ) ptr - > id . data ;
return rna_pointer_inherit_refine ( ptr , & RNA_PointCache , ob - > soft - > pointcache ) ;
}
2009-07-02 19:41:31 +00:00
static PointerRNA rna_CollisionModifier_settings_get ( PointerRNA * ptr )
{
Object * ob = ( Object * ) ptr - > id . data ;
return rna_pointer_inherit_refine ( ptr , & RNA_CollisionSettings , ob - > pd ) ;
}
2009-08-21 02:51:56 +00:00
static PointerRNA rna_UVProjector_object_get ( PointerRNA * ptr )
{
Object * * ob = ( Object * * ) ptr - > data ;
return rna_pointer_inherit_refine ( ptr , & RNA_Object , * ob ) ;
}
static void rna_UVProjector_object_set ( PointerRNA * ptr , PointerRNA value )
{
Object * * ob = ( Object * * ) ptr - > data ;
2010-03-22 09:30:00 +00:00
if ( * ob )
2009-08-21 02:51:56 +00:00
id_us_min ( ( ID * ) * ob ) ;
if ( value . data )
id_us_plus ( ( ID * ) value . data ) ;
* ob = value . data ;
}
static void rna_UVProjectModifier_num_projectors_set ( PointerRNA * ptr , int value )
{
UVProjectModifierData * md = ( UVProjectModifierData * ) ptr - > data ;
int a ;
md - > num_projectors = CLAMPIS ( value , 1 , MOD_UVPROJECT_MAX ) ;
for ( a = md - > num_projectors ; a < MOD_UVPROJECT_MAX ; a + + )
md - > projectors [ a ] = NULL ;
}
2008-12-01 13:01:48 +00:00
# else
2009-02-05 01:12:47 +00:00
static void rna_def_property_subdivision_common ( StructRNA * srna , const char type [ ] )
2008-12-29 17:36:06 +00:00
{
2009-01-01 21:16:16 +00:00
static EnumPropertyItem prop_subdivision_type_items [ ] = {
2009-06-16 00:52:21 +00:00
{ 0 , " CATMULL_CLARK " , 0 , " Catmull-Clark " , " " } ,
{ 1 , " SIMPLE " , 0 , " Simple " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
2009-01-06 20:15:23 +00:00
PropertyRNA * prop = RNA_def_property ( srna , " subdivision_type " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , type ) ;
2009-01-01 21:16:16 +00:00
RNA_def_property_enum_items ( prop , prop_subdivision_type_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Subdivision Type " , " Selects type of subdivision algorithm " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-06 20:15:23 +00:00
}
static void rna_def_modifier_subsurf ( BlenderRNA * brna )
{
StructRNA * srna ;
PropertyRNA * prop ;
srna = RNA_def_struct ( brna , " SubsurfModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Subsurf Modifier " , " Subdivision surface modifier " ) ;
2009-01-06 20:15:23 +00:00
RNA_def_struct_sdna ( srna , " SubsurfModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SUBSURF ) ;
2009-01-06 20:15:23 +00:00
2009-02-05 01:12:47 +00:00
rna_def_property_subdivision_common ( srna , " subdivType " ) ;
2009-11-25 14:07:12 +00:00
prop = RNA_def_property ( srna , " levels " , PROP_INT , PROP_UNSIGNED ) ;
2009-02-05 01:12:47 +00:00
RNA_def_property_int_sdna ( prop , NULL , " levels " ) ;
2009-11-25 14:07:12 +00:00
RNA_def_property_ui_range ( prop , 0 , 6 , 1 , 0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Levels " , " Number of subdivisions to perform " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 21:16:16 +00:00
2009-11-25 14:07:12 +00:00
prop = RNA_def_property ( srna , " render_levels " , PROP_INT , PROP_UNSIGNED ) ;
2009-01-01 21:16:16 +00:00
RNA_def_property_int_sdna ( prop , NULL , " renderLevels " ) ;
2009-11-25 14:07:12 +00:00
RNA_def_property_ui_range ( prop , 0 , 6 , 1 , 0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Render Levels " , " Number of subdivisions to perform when rendering " ) ;
2009-01-01 21:16:16 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_only_control_edges " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 21:16:16 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , eSubsurfModifierFlag_ControlEdges ) ;
2009-12-09 13:37:19 +00:00
RNA_def_property_ui_text ( prop , " Optimal Display " , " Skip drawing/rendering of interior subdivided edges " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 21:16:16 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_subsurf_uv " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 21:16:16 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , eSubsurfModifierFlag_SubsurfUv ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Subdivide UVs " , " Use subsurf to subdivide UVs " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
2009-01-06 20:15:23 +00:00
static void rna_def_modifier_multires ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-02-05 01:12:47 +00:00
PropertyRNA * prop ;
2009-01-06 20:15:23 +00:00
srna = RNA_def_struct ( brna , " MultiresModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Multires Modifier " , " Multiresolution mesh modifier " ) ;
2009-01-06 20:15:23 +00:00
RNA_def_struct_sdna ( srna , " MultiresModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_MULTIRES ) ;
2009-01-06 20:15:23 +00:00
2009-02-05 01:12:47 +00:00
rna_def_property_subdivision_common ( srna , " simple " ) ;
2009-11-25 14:07:12 +00:00
prop = RNA_def_property ( srna , " levels " , PROP_INT , PROP_UNSIGNED ) ;
2009-02-05 01:12:47 +00:00
RNA_def_property_int_sdna ( prop , NULL , " lvl " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Levels " , " Number of subdivisions to use in the viewport " ) ;
2009-11-25 14:07:12 +00:00
RNA_def_property_int_funcs ( prop , NULL , NULL , " rna_MultiresModifier_level_range " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " sculpt_levels " , PROP_INT , PROP_UNSIGNED ) ;
RNA_def_property_int_sdna ( prop , NULL , " sculptlvl " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Sculpt Levels " , " Number of subdivisions to use in sculpt mode " ) ;
2009-02-05 01:12:47 +00:00
RNA_def_property_int_funcs ( prop , NULL , NULL , " rna_MultiresModifier_level_range " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-11-25 14:07:12 +00:00
prop = RNA_def_property ( srna , " render_levels " , PROP_INT , PROP_UNSIGNED ) ;
RNA_def_property_int_sdna ( prop , NULL , " renderlvl " ) ;
RNA_def_property_ui_text ( prop , " Render Levels " , " " ) ;
RNA_def_property_int_funcs ( prop , NULL , NULL , " rna_MultiresModifier_level_range " ) ;
prop = RNA_def_property ( srna , " total_levels " , PROP_INT , PROP_UNSIGNED ) ;
RNA_def_property_int_sdna ( prop , NULL , " totlvl " ) ;
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Total Levels " , " Number of subdivisions for which displacements are stored " ) ;
2009-11-25 14:07:12 +00:00
2010-08-19 17:46:00 +00:00
prop = RNA_def_property ( srna , " is_external " , PROP_BOOLEAN , PROP_NONE ) ;
2009-12-10 14:26:06 +00:00
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ;
RNA_def_property_boolean_funcs ( prop , " rna_MultiresModifier_external_get " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " External " , " Store multires displacements outside the .blend file, to save memory " ) ;
2009-12-09 13:37:19 +00:00
2010-06-02 17:58:28 +00:00
prop = RNA_def_property ( srna , " filepath " , PROP_STRING , PROP_FILEPATH ) ;
RNA_def_property_string_funcs ( prop , " rna_MultiresModifier_filepath_get " , " rna_MultiresModifier_filepath_length " , " rna_MultiresModifier_filepath_set " ) ;
RNA_def_property_ui_text ( prop , " File Path " , " Path to external displacements file " ) ;
2009-12-10 14:26:06 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_only_control_edges " , PROP_BOOLEAN , PROP_NONE ) ;
2009-12-09 13:37:19 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , eMultiresModifierFlag_ControlEdges ) ;
RNA_def_property_ui_text ( prop , " Optimal Display " , " Skip drawing/rendering of interior subdivided edges " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-06 20:15:23 +00:00
}
2008-12-29 17:36:06 +00:00
static void rna_def_modifier_lattice ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-01 21:16:16 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " LatticeModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Lattice Modifier " , " Lattice deformation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " LatticeModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_LATTICE ) ;
2009-01-01 21:16:16 +00:00
2009-05-27 00:03:49 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Lattice object to deform with " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_LatticeModifier_object_set " , NULL , " rna_Lattice_object_poll " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-01 21:16:16 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " name " ) ;
2011-01-26 22:38:05 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Name of Vertex Group which determines influence of modifier per point " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_LatticeModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_curve ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-01 23:32:49 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_deform_axis_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_CURVE_POSX , " POS_X " , 0 , " X " , " " } ,
{ MOD_CURVE_POSY , " POS_Y " , 0 , " Y " , " " } ,
{ MOD_CURVE_POSZ , " POS_Z " , 0 , " Z " , " " } ,
{ MOD_CURVE_NEGX , " NEG_X " , 0 , " -X " , " " } ,
{ MOD_CURVE_NEGY , " NEG_Y " , 0 , " -Y " , " " } ,
{ MOD_CURVE_NEGZ , " NEG_Z " , 0 , " -Z " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " CurveModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Curve Modifier " , " Curve deformation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " CurveModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_CURVE ) ;
2009-01-01 23:32:49 +00:00
2009-05-27 00:03:49 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Curve object to deform with " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_CurveModifier_object_set " , NULL , " rna_Curve_object_poll " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-01 23:32:49 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " name " ) ;
2011-01-26 22:38:05 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Name of Vertex Group which determines influence of modifier per point " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_CurveModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 23:32:49 +00:00
prop = RNA_def_property ( srna , " deform_axis " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " defaxis " ) ;
RNA_def_property_enum_items ( prop , prop_deform_axis_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Deform Axis " , " The axis that the curve deforms along " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_build ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-01 21:49:04 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " BuildModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Build Modifier " , " Build effect modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " BuildModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_BUILD ) ;
2009-01-01 21:49:04 +00:00
2010-04-22 17:35:00 +00:00
prop = RNA_def_property ( srna , " frame_start " , PROP_FLOAT , PROP_TIME ) ;
RNA_def_property_float_sdna ( prop , NULL , " start " ) ;
2009-07-07 06:56:29 +00:00
RNA_def_property_range ( prop , MINAFRAMEF , MAXFRAMEF ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Start " , " Specify the start frame of the effect " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 21:49:04 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " frame_duration " , PROP_FLOAT , PROP_TIME ) ;
RNA_def_property_float_sdna ( prop , NULL , " length " ) ;
2009-01-01 21:49:04 +00:00
RNA_def_property_range ( prop , 1 , MAXFRAMEF ) ;
RNA_def_property_ui_text ( prop , " Length " , " Specify the total time the build effect requires " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 21:49:04 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_random_order " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " randomize " , 1 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Randomize " , " Randomize the faces or edges during build " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 21:49:04 +00:00
prop = RNA_def_property ( srna , " seed " , PROP_INT , PROP_NONE ) ;
RNA_def_property_range ( prop , 1 , MAXFRAMEF ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Seed " , " Specify the seed for random if used " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_mirror ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-01 22:43:58 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " MirrorModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Mirror Modifier " , " Mirroring modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " MirrorModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_MIRROR ) ;
2009-01-01 22:43:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_AXIS_X ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " X " , " Enable X axis mirror " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_AXIS_Y ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Y " , " Enable Y axis mirror " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_z " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_AXIS_Z ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Z " , " Enable Z axis mirror " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_clip " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_CLIPPING ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Clip " , " Prevents vertices from going through the mirror during transform " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_mirror_vertex_groups " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_VGROUP ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Mirror Vertex Groups " , " Mirror vertex groups (e.g. .R->.L) " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2011-02-10 00:05:03 +00:00
prop = RNA_def_property ( srna , " use_mirror_merge " , PROP_BOOLEAN , PROP_NONE ) ;
2011-02-10 00:44:26 +00:00
RNA_def_property_boolean_negative_sdna ( prop , NULL , " flag " , MOD_MIR_NO_MERGE ) ;
2011-02-10 00:25:00 +00:00
RNA_def_property_ui_text ( prop , " Merge Verticies " , " Merge vertices within the merge threshold " ) ;
2011-02-10 00:05:03 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_mirror_u " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_MIRROR_U ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Mirror U " , " Mirror the U texture coordinate around the 0.5 point " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_mirror_v " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MIR_MIRROR_V ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Mirror V " , " Mirror the V texture coordinate around the 0.5 point " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " merge_threshold " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-01 22:43:58 +00:00
RNA_def_property_float_sdna ( prop , NULL , " tolerance " ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
2009-11-21 18:12:45 +00:00
RNA_def_property_ui_range ( prop , 0 , 1 , 0.01 , 6 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Merge Limit " , " Distance from axis within which mirrored vertices are merged " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 22:43:58 +00:00
prop = RNA_def_property ( srna , " mirror_object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " mirror_ob " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Mirror Object " , " Object to use as mirror " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_decimate ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-01 23:47:32 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " DecimateModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Decimate Modifier " , " Decimation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " DecimateModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_DECIM ) ;
2009-01-01 23:47:32 +00:00
2010-11-01 21:53:35 +00:00
prop = RNA_def_property ( srna , " ratio " , PROP_FLOAT , PROP_NONE ) ;
2009-01-01 23:47:32 +00:00
RNA_def_property_float_sdna ( prop , NULL , " percent " ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 1 , 1 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Ratio " , " Defines the ratio of triangles to reduce to " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-01 23:47:32 +00:00
prop = RNA_def_property ( srna , " face_count " , PROP_INT , PROP_NONE ) ;
RNA_def_property_int_sdna ( prop , NULL , " faceCount " ) ;
2009-03-23 13:24:48 +00:00
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Face Count " , " The current number of faces in the decimated mesh " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_wave ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 00:53:49 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_texture_coordinates_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_WAV_MAP_LOCAL , " LOCAL " , 0 , " Local " , " " } ,
{ MOD_WAV_MAP_GLOBAL , " GLOBAL " , 0 , " Global " , " " } ,
{ MOD_WAV_MAP_OBJECT , " OBJECT " , 0 , " Object " , " " } ,
{ MOD_WAV_MAP_UV , " MAP_UV " , 0 , " UV " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " WaveModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Wave Modifier " , " Wave effect modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " WaveModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_WAVE ) ;
2009-01-02 00:53:49 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_X ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " X " , " X axis motion " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_Y ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Y " , " Y axis motion " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_cyclic " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_CYCL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Cyclic " , " Cyclic wave effect " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_normal " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_NORM ) ;
2010-05-04 05:15:53 +00:00
RNA_def_property_ui_text ( prop , " Normals " , " Displace along normals " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_normal_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_NORM_X ) ;
RNA_def_property_ui_text ( prop , " X Normal " , " Enable displacement along the X normal " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_normal_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_NORM_Y ) ;
RNA_def_property_ui_text ( prop , " Y Normal " , " Enable displacement along the Y normal " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_normal_z " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_WAVE_NORM_Z ) ;
RNA_def_property_ui_text ( prop , " Z Normal " , " Enable displacement along the Z normal " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
prop = RNA_def_property ( srna , " time_offset " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " timeoffs " ) ;
2009-07-07 06:56:29 +00:00
RNA_def_property_range ( prop , MINAFRAMEF , MAXFRAMEF ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Time Offset " , " Either the starting frame (for positive speed) or ending frame (for negative speed.) " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
RNA: subtypes and units
* Reviewed subtypes, making them more specific and adding new ones.
* Subtypes now have an associated type of units (length, area, volume,
mass, rotation, time, velocity, acceleration). These are not used
yet anywhere.
* Centralized code that decides the name of array items based on
subtype (XYZ, RGB), was copied in 3 places.
* RNA_def_float etc functions still need to be update, will do this
later together with another change.
2009-08-10 21:31:05 +00:00
prop = RNA_def_property ( srna , " lifetime " , PROP_FLOAT , PROP_TIME ) ;
2010-08-20 06:09:58 +00:00
RNA_def_property_float_sdna ( prop , NULL , " lifetime " ) ;
2009-07-07 06:56:29 +00:00
RNA_def_property_range ( prop , MINAFRAMEF , MAXFRAMEF ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Lifetime " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
RNA: subtypes and units
* Reviewed subtypes, making them more specific and adding new ones.
* Subtypes now have an associated type of units (length, area, volume,
mass, rotation, time, velocity, acceleration). These are not used
yet anywhere.
* Centralized code that decides the name of array items based on
subtype (XYZ, RGB), was copied in 3 places.
* RNA_def_float etc functions still need to be update, will do this
later together with another change.
2009-08-10 21:31:05 +00:00
prop = RNA_def_property ( srna , " damping_time " , PROP_FLOAT , PROP_TIME ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_float_sdna ( prop , NULL , " damp " ) ;
2009-07-07 06:56:29 +00:00
RNA_def_property_range ( prop , MINAFRAMEF , MAXFRAMEF ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Damping Time " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-08-12 05:53:12 +00:00
prop = RNA_def_property ( srna , " falloff_radius " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_float_sdna ( prop , NULL , " falloff " ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 100 , 100 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Falloff Radius " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-08-12 05:53:12 +00:00
prop = RNA_def_property ( srna , " start_position_x " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_float_sdna ( prop , NULL , " startx " ) ;
2009-06-11 16:59:59 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_ui_range ( prop , - 100 , 100 , 100 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Start Position X " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-08-12 05:53:12 +00:00
prop = RNA_def_property ( srna , " start_position_y " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_float_sdna ( prop , NULL , " starty " ) ;
2009-06-11 16:59:59 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_ui_range ( prop , - 100 , 100 , 100 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Start Position Y " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
prop = RNA_def_property ( srna , " start_position_object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " objectcenter " ) ;
RNA_def_property_ui_text ( prop , " Start Position Object " , " " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 00:53:49 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name for modulating the wave " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_WaveModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
prop = RNA_def_property ( srna , " texture " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Texture " , " Texture for modulating the wave " ) ;
2009-05-27 00:03:49 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " texture_coords " , PROP_ENUM , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " texmapping " ) ;
RNA_def_property_enum_items ( prop , prop_texture_coordinates_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Texture Coordinates " , " Texture coordinates used for modulating input " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-01-04 19:25:24 +00:00
prop = RNA_def_property ( srna , " uv_layer " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " uvlayer_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " UV Layer " , " UV layer name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_WaveModifier_uvlayer_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2010-08-18 08:26:18 +00:00
prop = RNA_def_property ( srna , " texture_coords_object " , PROP_POINTER , PROP_NONE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " map_object " ) ;
RNA_def_property_ui_text ( prop , " Texture Coordinates Object " , " " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 00:53:49 +00:00
prop = RNA_def_property ( srna , " speed " , PROP_FLOAT , PROP_NONE ) ;
2009-06-11 16:59:59 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2009-07-15 22:58:12 +00:00
RNA_def_property_ui_range ( prop , - 1 , 1 , 10 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Speed " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " height " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-06-11 16:59:59 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_ui_range ( prop , - 2 , 2 , 10 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Height " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " width " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 5 , 10 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Width " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 00:53:49 +00:00
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " narrowness " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_float_sdna ( prop , NULL , " narrow " ) ;
2009-01-02 02:25:29 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 10 , 10 , 2 ) ;
2009-01-02 00:53:49 +00:00
RNA_def_property_ui_text ( prop , " Narrowness " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_armature ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 01:28:02 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ArmatureModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Armature Modifier " , " Armature deformation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ArmatureModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_ARMATURE ) ;
2009-01-02 01:28:02 +00:00
2009-04-27 18:05:58 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Armature object to deform with " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_ArmatureModifier_object_set " , NULL , " rna_Armature_object_poll " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 01:28:02 +00:00
2010-11-19 03:09:51 +00:00
prop = RNA_def_property ( srna , " use_bone_envelopes " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " deformflag " , ARM_DEF_ENVELOPE ) ;
RNA_def_property_ui_text ( prop , " Use Bone Envelopes " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 01:28:02 +00:00
prop = RNA_def_property ( srna , " use_vertex_groups " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " deformflag " , ARM_DEF_VGROUP ) ;
RNA_def_property_ui_text ( prop , " Use Vertex Groups " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-11-19 03:09:51 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_deform_preserve_volume " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 01:28:02 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " deformflag " , ARM_DEF_QUATERNION ) ;
2010-11-19 03:09:51 +00:00
RNA_def_property_ui_text ( prop , " Preserve Volume " , " Deform rotation interpolation with quaternions " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 01:28:02 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_multi_modifier " , PROP_BOOLEAN , PROP_NONE ) ;
2009-04-27 18:05:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " multi " , 0 ) ;
RNA_def_property_ui_text ( prop , " Multi Modifier " , " Use same input as previous modifier, and mix results using overall vgroup " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-11-19 03:09:51 +00:00
2010-12-31 11:51:00 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
2010-11-19 03:09:51 +00:00
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2011-01-26 22:38:05 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Name of Vertex Group which determines influence of modifier per point " ) ;
2010-11-19 03:09:51 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_ArmatureModifier_vgroup_set " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-12-31 11:51:00 +00:00
prop = RNA_def_property ( srna , " invert_vertex_group " , PROP_BOOLEAN , PROP_NONE ) ;
2010-11-19 03:09:51 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " deformflag " , ARM_DEF_INVERT_VGROUP ) ;
RNA_def_property_ui_text ( prop , " Invert " , " Invert vertex group influence " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_hook ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 02:37:54 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " HookModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Hook Modifier " , " Hook modifier to modify the location of vertices " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " HookModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_HOOK ) ;
2009-01-02 02:37:54 +00:00
2009-08-12 05:53:12 +00:00
prop = RNA_def_property ( srna , " falloff " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 02:37:54 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 100 , 100 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Falloff " , " If not zero, the distance from the hook where influence ends " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 02:37:54 +00:00
prop = RNA_def_property ( srna , " force " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Force " , " Relative force of the hook " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 02:37:54 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_ui_text ( prop , " Object " , " Parent Object for hook, also recalculates and clears offset " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-08-21 10:47:27 +00:00
prop = RNA_def_property ( srna , " subtarget " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " subtarget " ) ;
RNA_def_property_ui_text ( prop , " Sub-Target " , " Name of Parent Bone for hook (if applicable), also recalculates and clears offset " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 02:37:54 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " name " ) ;
2011-01-26 22:38:05 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Name of Vertex Group which determines influence of modifier per point " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_HookModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_softbody ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-07-02 19:41:31 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
2009-07-02 19:41:31 +00:00
srna = RNA_def_struct ( brna , " SoftBodyModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Soft Body Modifier " , " Soft body simulation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " SoftbodyModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SOFT ) ;
2009-07-02 19:41:31 +00:00
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2009-07-02 19:41:31 +00:00
RNA_def_property_struct_type ( prop , " SoftBodySettings " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_SoftBodyModifier_settings_get " , NULL , NULL , NULL ) ;
2009-07-02 19:41:31 +00:00
RNA_def_property_ui_text ( prop , " Soft Body Settings " , " " ) ;
2009-08-02 19:39:33 +00:00
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " point_cache " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2009-08-02 19:39:33 +00:00
RNA_def_property_struct_type ( prop , " PointCache " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_SoftBodyModifier_point_cache_get " , NULL , NULL , NULL ) ;
2009-08-02 19:39:33 +00:00
RNA_def_property_ui_text ( prop , " Soft Body Point Cache " , " " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_boolean ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 03:38:15 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_operation_items [ ] = {
2009-06-16 00:52:21 +00:00
{ eBooleanModifierOp_Intersect , " INTERSECT " , 0 , " Intersect " , " " } ,
{ eBooleanModifierOp_Union , " UNION " , 0 , " Union " , " " } ,
{ eBooleanModifierOp_Difference , " DIFFERENCE " , 0 , " Difference " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " BooleanModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Boolean Modifier " , " Boolean operations modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " BooleanModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_BOOLEAN ) ;
2009-01-02 03:38:15 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
2010-05-04 05:15:53 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Mesh object to use for Boolean operation " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_BooleanModifier_object_set " , NULL , NULL ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 03:38:15 +00:00
prop = RNA_def_property ( srna , " operation " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_items ( prop , prop_operation_items ) ;
RNA_def_property_ui_text ( prop , " Operation " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_array ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 04:45:13 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_fit_type_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_ARR_FIXEDCOUNT , " FIXED_COUNT " , 0 , " Fixed Count " , " " } ,
{ MOD_ARR_FITLENGTH , " FIT_LENGTH " , 0 , " Fit Length " , " " } ,
{ MOD_ARR_FITCURVE , " FIT_CURVE " , 0 , " Fit Curve " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ArrayModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Array Modifier " , " Array duplication modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ArrayModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_ARRAY ) ;
2009-01-02 04:45:13 +00:00
/* Length parameters */
prop = RNA_def_property ( srna , " fit_type " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_items ( prop , prop_fit_type_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Fit Type " , " Array length calculation method " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
prop = RNA_def_property ( srna , " count " , PROP_INT , PROP_NONE ) ;
RNA_def_property_range ( prop , 1 , INT_MAX ) ;
RNA_def_property_ui_range ( prop , 1 , 1000 , 1 , 0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Count " , " Number of duplicates to make " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " fit_length " , PROP_FLOAT , PROP_DISTANCE ) ;
RNA_def_property_float_sdna ( prop , NULL , " length " ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_range ( prop , 0 , INT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 10000 , 10 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Length " , " Length to fit array within " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
prop = RNA_def_property ( srna , " curve " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " curve_ob " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Curve " , " Curve object to fit array length to " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_ArrayModifier_curve_set " , NULL , " rna_Curve_object_poll " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 04:45:13 +00:00
/* Offset parameters */
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_constant_offset " , PROP_BOOLEAN , PROP_TRANSLATION ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " offset_type " , MOD_ARR_OFF_CONST ) ;
2010-04-16 22:42:35 +00:00
RNA_def_property_ui_text ( prop , " Constant Offset " , " Add a constant offset " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " constant_offset_displace " , PROP_FLOAT , PROP_TRANSLATION ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_float_sdna ( prop , NULL , " offset " ) ;
RNA_def_property_ui_text ( prop , " Constant Offset Displacement " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
2010-11-10 08:10:42 +00:00
prop = RNA_def_property ( srna , " use_relative_offset " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " offset_type " , MOD_ARR_OFF_RELATIVE ) ;
2010-04-16 22:42:35 +00:00
RNA_def_property_ui_text ( prop , " Relative Offset " , " Add an offset relative to the object's bounding box " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
2010-11-10 08:10:42 +00:00
prop = RNA_def_property ( srna , " relative_offset_displace " , PROP_FLOAT , PROP_NONE ) ; /* PROP_TRANSLATION causes units to be used which we dont want */
2009-01-02 04:45:13 +00:00
RNA_def_property_float_sdna ( prop , NULL , " scale " ) ;
RNA_def_property_ui_text ( prop , " Relative Offset Displacement " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
/* Vertex merging parameters */
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_merge_vertices " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , MOD_ARR_MERGE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Merge Vertices " , " Merge vertices in adjacent duplicates " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_merge_vertices_cap " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , MOD_ARR_MERGEFINAL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Merge Vertices " , " Merge vertices in first and last duplicates " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " merge_threshold " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_float_sdna ( prop , NULL , " merge_dist " ) ;
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 1 , 1 , 4 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Merge Distance " , " Limit below which to merge vertices " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
/* Offset object */
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_object_offset " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 04:45:13 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " offset_type " , MOD_ARR_OFF_OBJ ) ;
2010-04-16 22:42:35 +00:00
RNA_def_property_ui_text ( prop , " Object Offset " , " Add another object's transformation to the total offset " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
prop = RNA_def_property ( srna , " offset_object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " offset_ob " ) ;
2010-04-16 22:42:35 +00:00
RNA_def_property_ui_text ( prop , " Object Offset " , " " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 04:45:13 +00:00
/* Caps */
prop = RNA_def_property ( srna , " start_cap " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Start Cap " , " Mesh object to use as a start cap " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_ArrayModifier_start_cap_set " , NULL , " rna_Mesh_object_poll " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 04:45:13 +00:00
prop = RNA_def_property ( srna , " end_cap " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " End Cap " , " Mesh object to use as an end cap " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_ArrayModifier_end_cap_set " , NULL , " rna_Mesh_object_poll " ) ;
2009-10-19 12:13:32 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_edgesplit ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 03:38:15 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " EdgeSplitModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " EdgeSplit Modifier " , " Edge splitting modifier to create sharp edges " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " EdgeSplitModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_EDGESPLIT ) ;
2009-01-02 03:38:15 +00:00
2010-03-22 00:22:52 +00:00
// XXX, convert to radians.
2009-01-02 03:38:15 +00:00
prop = RNA_def_property ( srna , " split_angle " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_range ( prop , 0 , 180 ) ;
RNA_def_property_ui_range ( prop , 0 , 180 , 100 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Split Angle " , " Angle above which to split edges " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 03:38:15 +00:00
prop = RNA_def_property ( srna , " use_edge_angle " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , MOD_EDGESPLIT_FROMANGLE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Use Edge Angle " , " Split edges with high angle between faces " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 03:38:15 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_edge_sharp " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 03:38:15 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , MOD_EDGESPLIT_FROMFLAG ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Use Sharp Edges " , " Split edges that are marked as sharp " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_displace ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 05:20:44 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_direction_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_DISP_DIR_X , " X " , 0 , " X " , " " } ,
{ MOD_DISP_DIR_Y , " Y " , 0 , " Y " , " " } ,
{ MOD_DISP_DIR_Z , " Z " , 0 , " Z " , " " } ,
{ MOD_DISP_DIR_NOR , " NORMAL " , 0 , " Normal " , " " } ,
{ MOD_DISP_DIR_RGB_XYZ , " RGB_TO_XYZ " , 0 , " RGB to XYZ " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-01-02 05:20:44 +00:00
static EnumPropertyItem prop_texture_coordinates_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_DISP_MAP_LOCAL , " LOCAL " , 0 , " Map " , " " } ,
{ MOD_DISP_MAP_GLOBAL , " GLOBAL " , 0 , " Global " , " " } ,
{ MOD_DISP_MAP_OBJECT , " OBJECT " , 0 , " Object " , " " } ,
{ MOD_DISP_MAP_UV , " UV " , 0 , " UV " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " DisplaceModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Displace Modifier " , " Displacement modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " DisplaceModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_DISPLACE ) ;
2009-01-02 05:20:44 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2011-01-26 22:38:05 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Name of Vertex Group which determines influence of modifier per point " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_DisplaceModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 05:20:44 +00:00
prop = RNA_def_property ( srna , " texture " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_ui_text ( prop , " Texture " , " " ) ;
2009-05-27 00:03:49 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 05:20:44 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " mid_level " , PROP_FLOAT , PROP_DISTANCE ) ;
RNA_def_property_float_sdna ( prop , NULL , " midlevel " ) ;
2009-01-02 05:20:44 +00:00
RNA_def_property_range ( prop , 0 , 1 ) ;
RNA_def_property_ui_range ( prop , 0 , 1 , 10 , 3 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Midlevel " , " Material value that gives no displacement " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 05:20:44 +00:00
prop = RNA_def_property ( srna , " strength " , PROP_FLOAT , PROP_NONE ) ;
2009-06-11 16:59:59 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2010-08-06 18:14:52 +00:00
RNA_def_property_ui_range ( prop , - 100 , 100 , 10 , 3 ) ;
2009-01-02 05:20:44 +00:00
RNA_def_property_ui_text ( prop , " Strength " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 05:20:44 +00:00
prop = RNA_def_property ( srna , " direction " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_items ( prop , prop_direction_items ) ;
RNA_def_property_ui_text ( prop , " Direction " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 05:20:44 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " texture_coords " , PROP_ENUM , PROP_NONE ) ;
2009-01-02 05:20:44 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " texmapping " ) ;
RNA_def_property_enum_items ( prop , prop_texture_coordinates_items ) ;
RNA_def_property_ui_text ( prop , " Texture Coordinates " , " " ) ;
2010-09-23 12:03:34 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 05:20:44 +00:00
2009-01-04 19:25:24 +00:00
prop = RNA_def_property ( srna , " uv_layer " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " uvlayer_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " UV Layer " , " UV layer name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_DisplaceModifier_uvlayer_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 05:20:44 +00:00
prop = RNA_def_property ( srna , " texture_coordinate_object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " map_object " ) ;
RNA_def_property_ui_text ( prop , " Texture Coordinate Object " , " " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_uvproject ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 07:29:35 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " UVProjectModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " UV Project Modifier " , " UV projection modifier to sets UVs from a projector " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " UVProjectModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_UVPROJECT ) ;
2009-01-02 07:29:35 +00:00
2009-01-04 19:25:24 +00:00
prop = RNA_def_property ( srna , " uv_layer " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " uvlayer_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " UV Layer " , " UV layer name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_UVProjectModifier_uvlayer_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 07:29:35 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " projector_count " , PROP_INT , PROP_NONE ) ;
RNA_def_property_int_sdna ( prop , NULL , " num_projectors " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Number of Projectors " , " Number of projectors to use " ) ;
2009-08-21 02:51:56 +00:00
RNA_def_property_int_funcs ( prop , NULL , " rna_UVProjectModifier_num_projectors_set " , NULL ) ;
RNA_def_property_range ( prop , 1 , MOD_UVPROJECT_MAX ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-08-21 02:51:56 +00:00
2009-01-03 23:14:33 +00:00
prop = RNA_def_property ( srna , " projectors " , PROP_COLLECTION , PROP_NONE ) ;
2009-08-21 02:51:56 +00:00
RNA_def_property_struct_type ( prop , " UVProjector " ) ;
2009-11-13 16:08:03 +00:00
RNA_def_property_collection_funcs ( prop , " rna_UVProject_projectors_begin " , " rna_iterator_array_next " , " rna_iterator_array_end " , " rna_iterator_array_get " , 0 , 0 , 0 ) ;
2009-01-03 23:14:33 +00:00
RNA_def_property_ui_text ( prop , " Projectors " , " " ) ;
2009-01-02 07:29:35 +00:00
prop = RNA_def_property ( srna , " image " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_ui_text ( prop , " Image " , " " ) ;
2009-05-27 00:03:49 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 07:29:35 +00:00
* Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
/usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
bpy.data.images.load(), missed this call.
(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
prop = RNA_def_property ( srna , " aspect_x " , PROP_FLOAT , PROP_NONE ) ;
2009-01-02 07:29:35 +00:00
RNA_def_property_float_sdna ( prop , NULL , " aspectx " ) ;
RNA_def_property_range ( prop , 1 , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 1 , 1000 , 1 , 3 ) ;
2009-01-02 07:29:35 +00:00
RNA_def_property_ui_text ( prop , " Horizontal Aspect Ratio " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 07:29:35 +00:00
* Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
/usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
bpy.data.images.load(), missed this call.
(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
prop = RNA_def_property ( srna , " aspect_y " , PROP_FLOAT , PROP_NONE ) ;
2009-01-02 07:29:35 +00:00
RNA_def_property_float_sdna ( prop , NULL , " aspecty " ) ;
RNA_def_property_range ( prop , 1 , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 1 , 1000 , 1 , 3 ) ;
2009-01-02 07:29:35 +00:00
RNA_def_property_ui_text ( prop , " Vertical Aspect Ratio " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
* Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
/usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
bpy.data.images.load(), missed this call.
(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
prop = RNA_def_property ( srna , " scale_x " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " scalex " ) ;
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 1000 , 1 , 3 ) ;
* Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
/usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
bpy.data.images.load(), missed this call.
(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
RNA_def_property_ui_text ( prop , " Horizontal Scale " , " " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " scale_y " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " scaley " ) ;
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 1000 , 1 , 3 ) ;
* Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
/usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
bpy.data.images.load(), missed this call.
(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
RNA_def_property_ui_text ( prop , " Vertical Scale " , " " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 07:29:35 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_image_override " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 07:29:35 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , MOD_UVPROJECT_OVERRIDEIMAGE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Override Image " , " Override faces' current images with the given image " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-08-21 02:51:56 +00:00
srna = RNA_def_struct ( brna , " UVProjector " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " UVProjector " , " UV projector used by the UV project modifier " ) ;
2009-08-21 02:51:56 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_struct_type ( prop , " Object " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_UVProjector_object_get " , " rna_UVProjector_object_set " , NULL , NULL ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Object to use as projector transform " ) ;
2010-08-02 16:57:46 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_smooth ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 08:03:20 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " SmoothModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Smooth Modifier " , " Smoothing effect modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " SmoothModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SMOOTH ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 07:15:11 +00:00
prop = RNA_def_property ( srna , " use_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SMOOTH_X ) ;
RNA_def_property_ui_text ( prop , " X " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 07:15:11 +00:00
prop = RNA_def_property ( srna , " use_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SMOOTH_Y ) ;
RNA_def_property_ui_text ( prop , " Y " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 07:15:11 +00:00
prop = RNA_def_property ( srna , " use_z " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SMOOTH_Z ) ;
RNA_def_property_ui_text ( prop , " Z " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " factor " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " fac " ) ;
2009-06-04 11:05:36 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , - 10 , 10 , 1 , 3 ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_ui_text ( prop , " Factor " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " iterations " , PROP_INT , PROP_NONE ) ;
RNA_def_property_int_sdna ( prop , NULL , " repeat " ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_ui_range ( prop , 0 , 30 , 1 , 0 ) ;
RNA_def_property_ui_text ( prop , " Repeat " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2011-01-26 22:38:05 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Name of Vertex Group which determines influence of modifier per point " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_SmoothModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_cast ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 08:03:20 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_cast_type_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_CAST_TYPE_SPHERE , " SPHERE " , 0 , " Sphere " , " " } ,
{ MOD_CAST_TYPE_CYLINDER , " CYLINDER " , 0 , " Cylinder " , " " } ,
{ MOD_CAST_TYPE_CUBOID , " CUBOID " , 0 , " Cuboid " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " CastModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Cast Modifier " , " Cast modifier to cast to other shapes " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " CastModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_CAST ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " cast_type " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " type " ) ;
RNA_def_property_enum_items ( prop , prop_cast_type_items ) ;
RNA_def_property_ui_text ( prop , " Cast Type " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-28 06:26:10 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_ui_text ( prop , " Object " , " Control object: if available, its location determines the center of the effect " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_CastModifier_object_set " , NULL , NULL ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_CAST_X ) ;
RNA_def_property_ui_text ( prop , " X " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_CAST_Y ) ;
RNA_def_property_ui_text ( prop , " Y " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_z " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_CAST_Z ) ;
RNA_def_property_ui_text ( prop , " Z " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_radius_as_size " , PROP_BOOLEAN , PROP_NONE ) ;
2009-07-28 06:26:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_CAST_SIZE_FROM_RADIUS ) ;
RNA_def_property_ui_text ( prop , " From Radius " , " Use radius as size of projection shape (0 = auto) " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-28 06:26:10 +00:00
prop = RNA_def_property ( srna , " use_transform " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_CAST_USE_OB_TRANSFORM ) ;
RNA_def_property_ui_text ( prop , " Use transform " , " Use object transform to control projection shape " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-28 06:26:10 +00:00
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " factor " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " fac " ) ;
2009-06-04 11:16:56 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_ui_range ( prop , - 10 , 10 , 5 , 2 ) ;
RNA_def_property_ui_text ( prop , " Factor " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2009-08-12 05:53:12 +00:00
prop = RNA_def_property ( srna , " radius " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 100 , 5 , 2 ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_ui_text ( prop , " Radius " , " Only deform vertices within this distance from the center of the effect (leave as 0 for infinite.) " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " size " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 100 , 5 , 2 ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_ui_text ( prop , " Size " , " Size of projection shape (leave as 0 for auto.) " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_CastModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_meshdeform ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 08:03:20 +00:00
PropertyRNA * prop ;
2010-04-02 11:39:40 +00:00
#if 0
2009-11-28 13:33:17 +00:00
static EnumPropertyItem prop_mode_items [ ] = {
2010-02-11 01:11:52 +00:00
{ 0 , " VOLUME " , 0 , " Volume " , " Bind to volume inside cage mesh " } ,
{ 1 , " SURFACE " , 0 , " Surface " , " Bind to surface of cage mesh " } ,
2009-11-28 13:33:17 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2010-04-02 11:39:40 +00:00
# endif
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " MeshDeformModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " MeshDeform Modifier " , " Mesh deformation modifier to deform with other meshes " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " MeshDeformModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_MESHDEFORM ) ;
2009-01-02 08:03:20 +00:00
2009-05-27 00:03:49 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Mesh object to deform with " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_MeshDeformModifier_object_set " , NULL , NULL ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-09-11 09:09:54 +00:00
prop = RNA_def_property ( srna , " is_bound " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_funcs ( prop , " rna_MeshDeformModifier_is_bound_get " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Bound " , " Whether geometry has been bound to control cage " ) ;
2009-09-11 09:09:54 +00:00
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ;
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " invert_vertex_group " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MDEF_INVERT_VGROUP ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Invert " , " Invert vertex group influence " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_MeshDeformModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
prop = RNA_def_property ( srna , " precision " , PROP_INT , PROP_NONE ) ;
RNA_def_property_int_sdna ( prop , NULL , " gridsize " ) ;
RNA_def_property_range ( prop , 2 , 10 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Precision " , " The grid size for binding " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_dynamic_bind " , PROP_BOOLEAN , PROP_NONE ) ;
2009-05-21 21:23:36 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MDEF_DYNAMIC_BIND ) ;
2009-01-02 08:03:20 +00:00
RNA_def_property_ui_text ( prop , " Dynamic " , " Recompute binding dynamically on top of other deformers (slower and more memory consuming.) " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 08:03:20 +00:00
2010-04-02 11:39:40 +00:00
#if 0
2009-11-28 13:33:17 +00:00
prop = RNA_def_property ( srna , " mode " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_items ( prop , prop_mode_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Mode " , " Method of binding vertices are bound to cage mesh " ) ;
2009-11-28 13:33:17 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-04-02 11:39:40 +00:00
# endif
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_particlesystem ( BlenderRNA * brna )
{
StructRNA * srna ;
2010-06-06 08:51:53 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ParticleSystemModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " ParticleSystem Modifier " , " Particle system simulation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ParticleSystemModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_PARTICLES ) ;
2010-06-06 08:51:53 +00:00
prop = RNA_def_property ( srna , " particle_system " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " psys " ) ;
RNA_def_property_ui_text ( prop , " Particle System " , " Particle System that this modifier controls " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_particleinstance ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 10:19:58 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
2009-07-04 03:50:12 +00:00
static EnumPropertyItem particleinstance_axis [ ] = {
{ 0 , " X " , 0 , " X " , " " } ,
{ 1 , " Y " , 0 , " Y " , " " } ,
{ 2 , " Z " , 0 , " Z " , " " } ,
{ 0 , NULL , 0 , NULL , NULL }
} ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ParticleInstanceModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " ParticleInstance Modifier " , " Particle system instancing modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ParticleInstanceModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_PARTICLES ) ;
2009-01-02 10:19:58 +00:00
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " ob " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Object " , " Object that has the particle system " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " particle_system_index " , PROP_INT , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_int_sdna ( prop , NULL , " psys " ) ;
RNA_def_property_range ( prop , 1 , 10 ) ;
RNA_def_property_ui_text ( prop , " Particle System Number " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-04 03:50:12 +00:00
prop = RNA_def_property ( srna , " axis " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " axis " ) ;
RNA_def_property_enum_items ( prop , particleinstance_axis ) ;
RNA_def_property_ui_text ( prop , " Axis " , " Pole axis for rotation " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_normal " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_Parents ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Normal " , " Create instances from normal particles " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_children " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_Children ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Children " , " Create instances from child particles " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-06-14 03:52:10 +00:00
prop = RNA_def_property ( srna , " use_path " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_Path ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Path " , " Create instances along particle paths " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_unborn " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_Unborn ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Unborn " , " Show instances when particles are unborn " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_alive " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_Alive ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Alive " , " Show instances when particles are alive " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_dead " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_Dead ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Dead " , " Show instances when particles are dead " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-04 03:50:12 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_preserve_shape " , PROP_BOOLEAN , PROP_NONE ) ;
2009-07-04 03:50:12 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_KeepShape ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Keep Shape " , " Don't stretch the object " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-04 03:50:12 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_size " , PROP_BOOLEAN , PROP_NONE ) ;
2009-07-05 12:36:20 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eParticleInstanceFlag_UseSize ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Size " , " Use particle size to scale the instances " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-05 12:36:20 +00:00
2009-07-04 03:50:12 +00:00
prop = RNA_def_property ( srna , " position " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " position " ) ;
RNA_def_property_range ( prop , 0.0 , 1.0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Position " , " Position along path " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-04 03:50:12 +00:00
prop = RNA_def_property ( srna , " random_position " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " random_position " ) ;
RNA_def_property_range ( prop , 0.0 , 1.0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Random Position " , " Randomize position along path " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_explode ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 10:19:58 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ExplodeModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Explode Modifier " , " Explosion effect modifier based on a particle system " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ExplodeModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_EXPLODE ) ;
2009-01-02 10:19:58 +00:00
2009-01-04 19:25:24 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_funcs ( prop , " rna_ExplodeModifier_vgroup_get " , " rna_ExplodeModifier_vgroup_length " , " rna_ExplodeModifier_vgroup_set " ) ;
RNA_def_property_ui_text ( prop , " Vertex Group " , " " ) ;
2009-01-02 10:19:58 +00:00
prop = RNA_def_property ( srna , " protect " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
RNA_def_property_ui_text ( prop , " Protect " , " Clean vertex group edges " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2011-02-23 19:29:59 +00:00
prop = RNA_def_property ( srna , " use_edge_cut " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eExplodeFlag_EdgeCut ) ;
RNA_def_property_ui_text ( prop , " Cut Edges " , " Cut face edges for nicer shrapnel " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_unborn " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eExplodeFlag_Unborn ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Unborn " , " Show mesh when particles are unborn " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_alive " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eExplodeFlag_Alive ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Alive " , " Show mesh when particles are alive " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_dead " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eExplodeFlag_Dead ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Dead " , " Show mesh when particles are dead " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-04-06 08:43:52 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_size " , PROP_BOOLEAN , PROP_NONE ) ;
2010-04-06 08:43:52 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , eExplodeFlag_PaSize ) ;
RNA_def_property_ui_text ( prop , " Size " , " Use particle size for the shrapnel " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2011-02-23 19:29:59 +00:00
prop = RNA_def_property ( srna , " particle_uv " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " uvname " ) ;
RNA_def_property_string_maxlength ( prop , 32 ) ;
RNA_def_property_ui_text ( prop , " Particle UV " , " UV Layer to change with particle age " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_cloth ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-04 19:25:24 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ClothModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Cloth Modifier " , " Cloth simulation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ClothModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_CLOTH ) ;
2009-01-04 19:25:24 +00:00
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " sim_parms " ) ;
RNA_def_property_ui_text ( prop , " Cloth Settings " , " " ) ;
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " collision_settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " coll_parms " ) ;
RNA_def_property_ui_text ( prop , " Cloth Collision Settings " , " " ) ;
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " point_cache " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_ui_text ( prop , " Point Cache " , " " ) ;
2008-12-29 17:36:06 +00:00
}
2009-07-30 15:00:26 +00:00
static void rna_def_modifier_smoke ( BlenderRNA * brna )
{
StructRNA * srna ;
PropertyRNA * prop ;
static EnumPropertyItem prop_smoke_type_items [ ] = {
{ 0 , " NONE " , 0 , " None " , " " } ,
2010-06-07 15:28:17 +00:00
{ MOD_SMOKE_TYPE_DOMAIN , " DOMAIN " , 0 , " Domain " , " " } ,
{ MOD_SMOKE_TYPE_FLOW , " FLOW " , 0 , " Flow " , " Inflow/Outflow " } ,
{ MOD_SMOKE_TYPE_COLL , " COLLISION " , 0 , " Collision " , " " } ,
2009-07-30 15:00:26 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
srna = RNA_def_struct ( brna , " SmokeModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Smoke Modifier " , " Smoke simulation modifier " ) ;
2009-07-30 15:00:26 +00:00
RNA_def_struct_sdna ( srna , " SmokeModifierData " ) ;
2009-09-07 11:51:19 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SMOKE ) ;
2009-07-30 15:00:26 +00:00
prop = RNA_def_property ( srna , " domain_settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " domain " ) ;
RNA_def_property_ui_text ( prop , " Domain Settings " , " " ) ;
prop = RNA_def_property ( srna , " flow_settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " flow " ) ;
RNA_def_property_ui_text ( prop , " Flow Settings " , " " ) ;
prop = RNA_def_property ( srna , " coll_settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " coll " ) ;
RNA_def_property_ui_text ( prop , " Collision Settings " , " " ) ;
2009-07-30 16:38:00 +00:00
prop = RNA_def_property ( srna , " smoke_type " , PROP_ENUM , PROP_NONE ) ;
2009-07-30 15:00:26 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " type " ) ;
RNA_def_property_enum_items ( prop , prop_smoke_type_items ) ;
RNA_def_property_ui_text ( prop , " Type " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Smoke_set_type " ) ;
2009-07-30 15:00:26 +00:00
}
2008-12-29 17:36:06 +00:00
static void rna_def_modifier_collision ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-06-03 22:19:04 +00:00
PropertyRNA * prop ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " CollisionModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Collision Modifier " , " Collision modifier defining modifier stack position used for collision " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " CollisionModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_PHYSICS ) ;
2009-07-02 19:41:31 +00:00
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2009-07-02 19:41:31 +00:00
RNA_def_property_struct_type ( prop , " CollisionSettings " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_CollisionModifier_settings_get " , NULL , NULL , NULL ) ;
2009-07-02 19:41:31 +00:00
RNA_def_property_ui_text ( prop , " Settings " , " " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_bevel ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 10:19:58 +00:00
PropertyRNA * prop ;
static EnumPropertyItem prop_limit_method_items [ ] = {
2010-02-11 01:11:52 +00:00
{ 0 , " NONE " , 0 , " None " , " Bevel the entire mesh by a constant amount " } ,
{ BME_BEVEL_ANGLE , " ANGLE " , 0 , " Angle " , " Only bevel edges with sharp enough angles between faces " } ,
{ BME_BEVEL_WEIGHT , " WEIGHT " , 0 , " Weight " , " Use bevel weights to determine how much bevel is applied; apply them separately in vert/edge select mode " } ,
2009-06-16 00:52:21 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-01-02 10:19:58 +00:00
static EnumPropertyItem prop_edge_weight_method_items [ ] = {
2009-06-16 00:52:21 +00:00
{ 0 , " AVERAGE " , 0 , " Average " , " " } ,
{ BME_BEVEL_EMIN , " SHARPEST " , 0 , " Sharpest " , " " } ,
{ BME_BEVEL_EMAX , " LARGEST " , 0 , " Largest " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " BevelModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Bevel Modifier " , " Bevel modifier to make edges and vertices more rounded " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " BevelModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_BEVEL ) ;
2009-01-02 10:19:58 +00:00
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " width " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_float_sdna ( prop , NULL , " value " ) ;
2009-12-25 18:06:05 +00:00
RNA_def_property_range ( prop , 0 , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , 0 , 10 , 0.1 , 4 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Width " , " Bevel value/amount " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_only_vertices " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flags " , BME_BEVEL_VERT ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Only Vertices " , " Bevel verts/corners, not edges " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
prop = RNA_def_property ( srna , " limit_method " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " lim_flags " ) ;
RNA_def_property_enum_items ( prop , prop_limit_method_items ) ;
RNA_def_property_ui_text ( prop , " Limit Method " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
prop = RNA_def_property ( srna , " edge_weight_method " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " e_flags " ) ;
RNA_def_property_enum_items ( prop , prop_edge_weight_method_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Edge Weight Method " , " What edge weight to use for weighting a vertex " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 10:19:58 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " angle_limit " , PROP_FLOAT , PROP_NONE ) ;
2009-01-02 10:19:58 +00:00
RNA_def_property_float_sdna ( prop , NULL , " bevel_angle " ) ;
RNA_def_property_range ( prop , 0 , 180 ) ;
RNA_def_property_ui_range ( prop , 0 , 180 , 100 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Angle " , " Angle above which to bevel edges " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_shrinkwrap ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 19:22:43 +00:00
PropertyRNA * prop ;
2009-10-13 16:08:34 +00:00
static EnumPropertyItem shrink_type_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_SHRINKWRAP_NEAREST_SURFACE , " NEAREST_SURFACEPOINT " , 0 , " Nearest Surface Point " , " " } ,
{ MOD_SHRINKWRAP_PROJECT , " PROJECT " , 0 , " Project " , " " } ,
{ MOD_SHRINKWRAP_NEAREST_VERTEX , " NEAREST_VERTEX " , 0 , " Nearest Vertex " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2011-02-19 09:53:38 +00:00
static EnumPropertyItem shrink_face_cull_items [ ] = {
{ 0 , " OFF " , 0 , " Off " , " " } ,
{ MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE , " FRONT " , 0 , " Front " , " " } ,
{ MOD_SHRINKWRAP_CULL_TARGET_BACKFACE , " BACK " , 0 , " Back " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " ShrinkwrapModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Shrinkwrap Modifier " , " Shrink wrapping modifier to shrink wrap and object to a target " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " ShrinkwrapModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SHRINKWRAP ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " wrap_method " , PROP_ENUM , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " shrinkType " ) ;
2009-10-13 16:08:34 +00:00
RNA_def_property_enum_items ( prop , shrink_type_items ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_ui_text ( prop , " Mode " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2011-02-19 09:53:38 +00:00
prop = RNA_def_property ( srna , " cull_face " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " shrinkOpts " ) ;
RNA_def_property_enum_items ( prop , shrink_face_cull_items ) ;
RNA_def_property_enum_funcs ( prop , " rna_ShrinkwrapModifier_face_cull_get " , " rna_ShrinkwrapModifier_face_cull_set " , NULL ) ;
RNA_def_property_ui_text ( prop , " Face Cull " , " Stop vertices from projecting to a the face on the target when facing towards/away " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " target " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Target " , " Mesh target to shrink to " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_ShrinkwrapModifier_target_set " , NULL , " rna_Mesh_object_poll " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " auxiliary_target " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " auxTarget " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Auxiliary Target " , " Additional mesh target to shrink to " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_ShrinkwrapModifier_auxiliary_target_set " , NULL , " rna_Mesh_object_poll " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " vgroup_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_ShrinkwrapModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2011-02-08 02:09:59 +00:00
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " offset " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " keepDist " ) ;
2011-02-08 02:09:59 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , - 100 , 100 , 1 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Offset " , " Distance to keep from the target " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_project_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-03 23:14:33 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " projAxis " , MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS ) ;
RNA_def_property_ui_text ( prop , " X " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-03 23:14:33 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_project_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-03 23:14:33 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " projAxis " , MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS ) ;
RNA_def_property_ui_text ( prop , " Y " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-03 23:14:33 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_project_z " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-03 23:14:33 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " projAxis " , MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS ) ;
RNA_def_property_ui_text ( prop , " Z " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " subsurf_levels " , PROP_INT , PROP_NONE ) ;
RNA_def_property_int_sdna ( prop , NULL , " subsurfLevels " ) ;
2009-06-11 16:59:59 +00:00
RNA_def_property_range ( prop , 0 , 6 ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_ui_range ( prop , 0 , 6 , 1 , 0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Subsurf Levels " , " Number of subdivisions that must be performed before extracting vertices' positions and normals " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_negative_direction " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " shrinkOpts " , MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Negative " , " Allow vertices to move in the negative direction of axis " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_positive_direction " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " shrinkOpts " , MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Positive " , " Allow vertices to move in the positive direction of axis " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " use_keep_above_surface " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " shrinkOpts " , MOD_SHRINKWRAP_KEEP_ABOVE_SURFACE ) ;
RNA_def_property_ui_text ( prop , " Keep Above Surface " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_fluidsim ( BlenderRNA * brna )
{
StructRNA * srna ;
PropertyRNA * prop ;
srna = RNA_def_struct ( brna , " FluidSimulationModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Fluid Simulation Modifier " , " Fluid simulation modifier " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " FluidsimModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_FLUIDSIM ) ;
2008-12-29 17:36:06 +00:00
2009-09-16 18:04:01 +00:00
prop = RNA_def_property ( srna , " settings " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_flag ( prop , PROP_NEVER_NULL ) ;
2008-12-29 17:36:06 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " fss " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Settings " , " Settings for how this object is used in the fluid simulation " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_mask ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 19:22:43 +00:00
PropertyRNA * prop ;
2009-10-13 16:08:34 +00:00
static EnumPropertyItem modifier_mask_mode_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_MASK_MODE_VGROUP , " VERTEX_GROUP " , 0 , " Vertex Group " , " " } ,
{ MOD_MASK_MODE_ARM , " ARMATURE " , 0 , " Armature " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " MaskModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Mask Modifier " , " Mask modifier to hide parts of the mesh " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " MaskModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_MASK ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " mode " , PROP_ENUM , PROP_NONE ) ;
2009-10-13 16:08:34 +00:00
RNA_def_property_enum_items ( prop , modifier_mask_mode_items ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_ui_text ( prop , " Mode " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " armature " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " ob_arm " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Armature " , " Armature to use as source of bones to mask " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , " rna_MaskModifier_armature_set " , NULL , " rna_Armature_object_poll " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " vgroup " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_MaskModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " invert_vertex_group " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_MASK_INV ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Invert " , " Use vertices that are not part of region defined " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
static void rna_def_modifier_simpledeform ( BlenderRNA * brna )
{
StructRNA * srna ;
2009-01-02 19:22:43 +00:00
PropertyRNA * prop ;
2009-10-13 16:08:34 +00:00
static EnumPropertyItem simple_deform_mode_items [ ] = {
2009-06-16 00:52:21 +00:00
{ MOD_SIMPLEDEFORM_MODE_TWIST , " TWIST " , 0 , " Twist " , " " } ,
{ MOD_SIMPLEDEFORM_MODE_BEND , " BEND " , 0 , " Bend " , " " } ,
{ MOD_SIMPLEDEFORM_MODE_TAPER , " TAPER " , 0 , " Taper " , " " } ,
{ MOD_SIMPLEDEFORM_MODE_STRETCH , " STRETCH " , 0 , " Stretch " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-29 17:36:06 +00:00
srna = RNA_def_struct ( brna , " SimpleDeformModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " SimpleDeform Modifier " , " Simple deformation modifier to apply effects such as twisting and bending " ) ;
2008-12-29 17:36:06 +00:00
RNA_def_struct_sdna ( srna , " SimpleDeformModifierData " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SIMPLEDEFORM ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " deform_method " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_sdna ( prop , NULL , " mode " ) ;
2009-10-13 16:08:34 +00:00
RNA_def_property_enum_items ( prop , simple_deform_mode_items ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_ui_text ( prop , " Mode " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
RNA_def_property_string_sdna ( prop , NULL , " vgroup_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name " ) ;
2009-01-04 19:25:24 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_SimpleDeformModifier_vgroup_set " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2009-01-10 22:57:33 +00:00
prop = RNA_def_property ( srna , " origin " , PROP_POINTER , PROP_NONE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Origin " , " Origin of modifier space coordinates " ) ;
2009-11-05 18:05:55 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " use_relative " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " originOpts " , MOD_SIMPLEDEFORM_ORIGIN_LOCAL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Relative " , " Sets the origin of deform space to be relative to the object " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " factor " , PROP_FLOAT , PROP_NONE ) ;
2009-06-04 11:16:56 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , - 10 , 10 , 1 , 3 ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_ui_text ( prop , " Factor " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
prop = RNA_def_property ( srna , " limits " , PROP_FLOAT , PROP_NONE ) ;
RNA_def_property_float_sdna ( prop , NULL , " limit " ) ;
RNA_def_property_array ( prop , 2 ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
RNA_def_property_ui_range ( prop , 0 , 1 , 5 , 2 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Limits " , " Lower/Upper limits for deform " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " lock_x " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " axis " , MOD_SIMPLEDEFORM_LOCK_AXIS_X ) ;
RNA_def_property_ui_text ( prop , " Lock X Axis " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-02 19:22:43 +00:00
2010-08-20 06:09:58 +00:00
prop = RNA_def_property ( srna , " lock_y " , PROP_BOOLEAN , PROP_NONE ) ;
2009-01-02 19:22:43 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " axis " , MOD_SIMPLEDEFORM_LOCK_AXIS_Y ) ;
RNA_def_property_ui_text ( prop , " Lock Y Axis " , " " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-29 17:36:06 +00:00
}
2009-07-02 19:41:31 +00:00
static void rna_def_modifier_surface ( BlenderRNA * brna )
{
StructRNA * srna ;
srna = RNA_def_struct ( brna , " SurfaceModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Surface Modifier " , " Surface modifier defining modifier stack position used for surface fields " ) ;
2009-07-02 19:41:31 +00:00
RNA_def_struct_sdna ( srna , " SurfaceModifierData " ) ;
RNA_def_struct_ui_icon ( srna , ICON_MOD_PHYSICS ) ;
}
2009-12-21 01:02:08 +00:00
static void rna_def_modifier_solidify ( BlenderRNA * brna )
{
StructRNA * srna ;
PropertyRNA * prop ;
srna = RNA_def_struct ( brna , " SolidifyModifier " , " Modifier " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Solidify Modifier " , " Create a solid skin by extruding, compensating for sharp angles " ) ;
2009-12-21 01:02:08 +00:00
RNA_def_struct_sdna ( srna , " SolidifyModifierData " ) ;
2010-01-22 02:23:28 +00:00
RNA_def_struct_ui_icon ( srna , ICON_MOD_SOLIDIFY ) ;
2009-12-21 01:02:08 +00:00
2010-03-31 07:28:23 +00:00
prop = RNA_def_property ( srna , " thickness " , PROP_FLOAT , PROP_DISTANCE ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_float_sdna ( prop , NULL , " offset " ) ;
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , - 10 , 10 , 0.1 , 4 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Thickness " , " Thickness of the shell " ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-07-24 00:24:58 +00:00
prop = RNA_def_property ( srna , " offset " , PROP_FLOAT , PROP_FACTOR ) ;
2010-03-31 07:28:23 +00:00
RNA_def_property_float_sdna ( prop , NULL , " offset_fac " ) ;
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
RNA_def_property_ui_range ( prop , - 1 , 1 , 0.1 , 4 ) ;
2010-07-14 08:24:24 +00:00
RNA_def_property_ui_text ( prop , " Offset " , " Offset the thickness from the center " ) ;
2010-03-31 07:28:23 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " edge_crease_inner " , PROP_FLOAT , PROP_FACTOR ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_float_sdna ( prop , NULL , " crease_inner " ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
RNA_def_property_ui_range ( prop , 0 , 1 , 0.1 , 3 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Inner Crease " , " Assign a crease to inner edges " ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " edge_crease_outer " , PROP_FLOAT , PROP_FACTOR ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_float_sdna ( prop , NULL , " crease_outer " ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
RNA_def_property_ui_range ( prop , 0 , 1 , 0.1 , 3 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Outer Crease " , " Assign a crease to outer edges " ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-12-25 18:06:05 +00:00
prop = RNA_def_property ( srna , " edge_crease_rim " , PROP_FLOAT , PROP_FACTOR ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_float_sdna ( prop , NULL , " crease_rim " ) ;
RNA_def_property_range ( prop , 0 , 1 ) ;
RNA_def_property_ui_range ( prop , 0 , 1 , 0.1 , 3 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Rim Crease " , " Assign a crease to the edges making up the rim " ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " vertex_group " , PROP_STRING , PROP_NONE ) ;
2010-01-26 09:36:33 +00:00
RNA_def_property_string_sdna ( prop , NULL , " defgrp_name " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Vertex Group " , " Vertex group name " ) ;
2009-12-21 01:02:08 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_SolidifyModifier_vgroup_set " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " use_rim " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SOLIDIFY_RIM ) ;
RNA_def_property_ui_text ( prop , " Fill Rim " , " Create edge loops between the inner and outer surfaces on face edges (slow, disable when not needed) " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-06-13 13:56:13 +00:00
prop = RNA_def_property ( srna , " use_rim_material " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SOLIDIFY_RIM_MATERIAL ) ;
RNA_def_property_ui_text ( prop , " Rim Material " , " Use in the next material for rim faces " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-12-21 01:02:08 +00:00
prop = RNA_def_property ( srna , " use_even_offset " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SOLIDIFY_EVEN ) ;
RNA_def_property_ui_text ( prop , " Even Thickness " , " Maintain thickness by adjusting for sharp corners (slow, disable when not needed) " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " use_quality_normals " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SOLIDIFY_NORMAL_CALC ) ;
RNA_def_property_ui_text ( prop , " High Quality Normals " , " Calculate normals which result in more even thickness (slow, disable when not needed) " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-03-22 00:22:52 +00:00
2010-08-21 04:51:00 +00:00
prop = RNA_def_property ( srna , " invert_vertex_group " , PROP_BOOLEAN , PROP_NONE ) ;
2010-03-31 07:28:23 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SOLIDIFY_VGROUP_INV ) ;
RNA_def_property_ui_text ( prop , " Vertex Group Invert " , " Invert the vertex group influence " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2010-06-13 13:56:13 +00:00
2010-03-22 00:22:52 +00:00
}
static void rna_def_modifier_screw ( BlenderRNA * brna )
{
static EnumPropertyItem axis_items [ ] = {
{ 0 , " X " , 0 , " X Axis " , " " } ,
{ 1 , " Y " , 0 , " Y Axis " , " " } ,
{ 2 , " Z " , 0 , " Z Axis " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
StructRNA * srna ;
PropertyRNA * prop ;
srna = RNA_def_struct ( brna , " ScrewModifier " , " Modifier " ) ;
RNA_def_struct_ui_text ( srna , " Screw Modifier " , " Revolve edges " ) ;
RNA_def_struct_sdna ( srna , " ScrewModifierData " ) ;
RNA_def_struct_ui_icon ( srna , ICON_MOD_SCREW ) ;
prop = RNA_def_property ( srna , " object " , PROP_POINTER , PROP_NONE ) ;
RNA_def_property_pointer_sdna ( prop , NULL , " ob_axis " ) ;
RNA_def_property_ui_text ( prop , " Object " , " Object to define the screw axis " ) ;
RNA_def_property_flag ( prop , PROP_EDITABLE | PROP_ID_SELF_CHECK ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_dependency_update " ) ;
prop = RNA_def_property ( srna , " steps " , PROP_INT , PROP_UNSIGNED ) ;
2010-03-22 09:30:00 +00:00
RNA_def_property_range ( prop , 2 , 10000 ) ;
2010-03-22 08:49:12 +00:00
RNA_def_property_ui_range ( prop , 2 , 512 , 1 , 0 ) ;
2010-03-22 00:22:52 +00:00
RNA_def_property_ui_text ( prop , " Steps " , " Number of steps in the revolution " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " render_steps " , PROP_INT , PROP_UNSIGNED ) ;
2010-03-22 09:30:00 +00:00
RNA_def_property_range ( prop , 2 , 10000 ) ;
2010-03-22 08:49:12 +00:00
RNA_def_property_ui_range ( prop , 2 , 512 , 1 , 0 ) ;
2010-03-22 00:22:52 +00:00
RNA_def_property_ui_text ( prop , " Render Steps " , " Number of steps in the revolution " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " iterations " , PROP_INT , PROP_UNSIGNED ) ;
RNA_def_property_int_sdna ( prop , NULL , " iter " ) ;
2010-03-22 09:30:00 +00:00
RNA_def_property_range ( prop , 1 , 10000 ) ;
2010-03-22 08:49:12 +00:00
RNA_def_property_ui_range ( prop , 1 , 100 , 1 , 0 ) ;
2010-03-22 00:22:52 +00:00
RNA_def_property_ui_text ( prop , " Iterations " , " Number of times to apply the screw operation " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " axis " , PROP_ENUM , PROP_NONE ) ;
RNA_def_property_enum_items ( prop , axis_items ) ;
RNA_def_property_ui_text ( prop , " Axis " , " Screw axis " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " angle " , PROP_FLOAT , PROP_ANGLE ) ;
2010-03-22 09:30:00 +00:00
RNA_def_property_ui_range ( prop , 0 , - M_PI * 2 , M_PI * 2 , 2 ) ;
2010-03-22 08:49:12 +00:00
RNA_def_property_range ( prop , - FLT_MAX , FLT_MAX ) ;
2010-03-22 00:22:52 +00:00
RNA_def_property_ui_text ( prop , " Angle " , " Angle of revolution " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " screw_offset " , PROP_FLOAT , PROP_DISTANCE ) ;
RNA_def_property_float_sdna ( prop , NULL , " screw_ofs " ) ;
RNA_def_property_ui_text ( prop , " Screw " , " Offset the revolution along its axis " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " use_normal_flip " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SCREW_NORMAL_FLIP ) ;
RNA_def_property_ui_text ( prop , " Flip " , " Flip normals of lathed faces " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " use_normal_calculate " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SCREW_NORMAL_CALC ) ;
RNA_def_property_ui_text ( prop , " Calc Order " , " Calculate the order of edges (needed for meshes, but not curves) " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
prop = RNA_def_property ( srna , " use_object_screw_offset " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SCREW_OBJECT_OFFSET ) ;
RNA_def_property_ui_text ( prop , " Object Screw " , " Use the distance between the objects to make a screw " ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
/*prop= RNA_def_property(srna, "use_angle_object", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , MOD_SCREW_OBJECT_ANGLE ) ;
2010-05-04 05:15:53 +00:00
RNA_def_property_ui_text ( prop , " Object Angle " , " Use the angle between the objects rather than the fixed angle " ) ;
2010-03-22 00:22:52 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ; */
2009-12-21 01:02:08 +00:00
}
2008-12-01 13:01:48 +00:00
void RNA_def_modifier ( BlenderRNA * brna )
{
StructRNA * srna ;
PropertyRNA * prop ;
/* data */
2008-12-19 04:06:24 +00:00
srna = RNA_def_struct ( brna , " Modifier " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Modifier " , " Modifier affecting the geometry data of an object " ) ;
2009-01-01 15:52:51 +00:00
RNA_def_struct_refine_func ( srna , " rna_Modifier_refine " ) ;
2009-05-27 00:03:49 +00:00
RNA_def_struct_path_func ( srna , " rna_Modifier_path " ) ;
2008-12-01 13:01:48 +00:00
RNA_def_struct_sdna ( srna , " ModifierData " ) ;
/* strings */
prop = RNA_def_property ( srna , " name " , PROP_STRING , PROP_NONE ) ;
2009-10-09 09:48:04 +00:00
RNA_def_property_string_funcs ( prop , NULL , NULL , " rna_Modifier_name_set " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Name " , " Modifier name " ) ;
2009-12-13 23:51:41 +00:00
RNA_def_property_update ( prop , NC_OBJECT | ND_MODIFIER | NA_RENAME , NULL ) ;
2008-12-02 23:45:11 +00:00
RNA_def_struct_name_property ( srna , prop ) ;
2008-12-01 13:01:48 +00:00
/* enums */
prop = RNA_def_property ( srna , " type " , PROP_ENUM , PROP_NONE ) ;
2009-03-23 13:24:48 +00:00
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ;
2008-12-03 20:17:12 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " type " ) ;
2009-04-27 18:05:58 +00:00
RNA_def_property_enum_items ( prop , modifier_type_items ) ;
2008-12-02 23:45:11 +00:00
RNA_def_property_ui_text ( prop , " Type " , " " ) ;
2008-12-01 13:01:48 +00:00
/* flags */
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_viewport " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 13:01:48 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " mode " , eModifierMode_Realtime ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Realtime " , " Realtime display of a modifier " ) ;
2009-12-14 13:15:23 +00:00
RNA_def_property_flag ( prop , PROP_LIB_EXCEPTION ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-08-06 18:31:25 +00:00
RNA_def_property_ui_icon ( prop , ICON_RESTRICT_VIEW_OFF , 0 ) ;
2008-12-01 13:01:48 +00:00
2010-08-19 12:51:31 +00:00
prop = RNA_def_property ( srna , " show_render " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 13:01:48 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " mode " , eModifierMode_Render ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Render " , " Use modifier during rendering " ) ;
2009-07-02 19:41:31 +00:00
RNA_def_property_ui_icon ( prop , ICON_SCENE , 0 ) ;
2010-09-18 08:37:47 +00:00
RNA_def_property_update ( prop , NC_OBJECT | ND_MODIFIER , NULL ) ;
2008-12-01 13:01:48 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_in_editmode " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 13:01:48 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " mode " , eModifierMode_Editmode ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Editmode " , " Use modifier while in the edit mode " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-07-02 19:41:31 +00:00
RNA_def_property_ui_icon ( prop , ICON_EDITMODE_HLT , 0 ) ;
2008-12-01 13:01:48 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_on_cage " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 13:01:48 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " mode " , eModifierMode_OnCage ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " On Cage " , " Enable direct editing of modifier control cage " ) ;
2.5
Notifiers
---------
Various fixes for wrong use of notifiers, and some new notifiers
to make things a bit more clear and consistent, with two notable
changes:
* Geometry changes are now done with NC_GEOM, rather than
NC_OBJECT|ND_GEOM_, so an object does need to be available.
* Space data now use NC_SPACE|ND_SPACE_*, instead of data
notifiers or even NC_WINDOW in some cases. Note that NC_SPACE
should only be used for notifying about changes in space data,
we don't want to go back to allqueue(REDRAW..).
Depsgraph
---------
The dependency graph now has a different flush call:
DAG_object_flush_update(scene, ob, flag)
is replaced by:
DAG_id_flush_update(id, flag)
It still works basically the same, one difference is that it now
also accepts object data (e.g. Mesh), again to avoid requiring an
Object to be available. Other ID types will simply do nothing at
the moment.
Docs
----
I made some guidelines for how/when to do which kinds of updates
and notifiers. I can't specify totally exact how to make these
decisions, but these are basically the guidelines I use. So, new
and updated docs are here:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-04 20:51:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2008-12-01 13:01:48 +00:00
2010-08-17 17:03:52 +00:00
prop = RNA_def_property ( srna , " show_expanded " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 13:01:48 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " mode " , eModifierMode_Expanded ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Expanded " , " Set modifier expanded in the user interface " ) ;
2010-01-20 05:41:59 +00:00
RNA_def_property_ui_icon ( prop , ICON_TRIA_RIGHT , 1 ) ;
2008-12-01 13:01:48 +00:00
2011-01-14 16:57:53 +00:00
prop = RNA_def_property ( srna , " use_apply_on_spline " , PROP_BOOLEAN , PROP_NONE ) ;
RNA_def_property_boolean_sdna ( prop , NULL , " mode " , eModifierMode_ApplyOnSpline ) ;
RNA_def_property_ui_text ( prop , " Apply on spline " , " Apply this and all preceding deformation modifiers on splines' points rather than on filled curve/surface " ) ;
RNA_def_property_ui_icon ( prop , ICON_SURFACE_DATA , 0 ) ;
RNA_def_property_update ( prop , 0 , " rna_Modifier_update " ) ;
2009-01-03 07:25:22 +00:00
2008-12-29 17:36:06 +00:00
/* types */
rna_def_modifier_subsurf ( brna ) ;
rna_def_modifier_lattice ( brna ) ;
rna_def_modifier_curve ( brna ) ;
rna_def_modifier_build ( brna ) ;
rna_def_modifier_mirror ( brna ) ;
rna_def_modifier_decimate ( brna ) ;
rna_def_modifier_wave ( brna ) ;
rna_def_modifier_armature ( brna ) ;
rna_def_modifier_hook ( brna ) ;
rna_def_modifier_softbody ( brna ) ;
rna_def_modifier_boolean ( brna ) ;
rna_def_modifier_array ( brna ) ;
rna_def_modifier_edgesplit ( brna ) ;
rna_def_modifier_displace ( brna ) ;
rna_def_modifier_uvproject ( brna ) ;
rna_def_modifier_smooth ( brna ) ;
rna_def_modifier_cast ( brna ) ;
rna_def_modifier_meshdeform ( brna ) ;
rna_def_modifier_particlesystem ( brna ) ;
rna_def_modifier_particleinstance ( brna ) ;
rna_def_modifier_explode ( brna ) ;
rna_def_modifier_cloth ( brna ) ;
rna_def_modifier_collision ( brna ) ;
rna_def_modifier_bevel ( brna ) ;
rna_def_modifier_shrinkwrap ( brna ) ;
rna_def_modifier_fluidsim ( brna ) ;
rna_def_modifier_mask ( brna ) ;
rna_def_modifier_simpledeform ( brna ) ;
2009-01-06 20:15:23 +00:00
rna_def_modifier_multires ( brna ) ;
2009-07-02 19:41:31 +00:00
rna_def_modifier_surface ( brna ) ;
2009-07-30 15:00:26 +00:00
rna_def_modifier_smoke ( brna ) ;
2009-12-21 01:02:08 +00:00
rna_def_modifier_solidify ( brna ) ;
2010-03-22 00:22:52 +00:00
rna_def_modifier_screw ( brna ) ;
2008-12-01 13:01:48 +00:00
}
# endif