2011-02-23 10:52:22 +00:00
/*
2008-12-01 19:02:27 +00:00
* * * * * * 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 19:02:27 +00:00
*
2009-03-28 10:52:51 +00:00
* Contributor ( s ) : Blender Foundation ( 2008 ) , Juho Veps <EFBFBD> l <EFBFBD> inen
2008-12-01 19:02:27 +00:00
*
* * * * * * END GPL LICENSE BLOCK * * * * *
*/
2011-02-27 20:20:01 +00:00
/** \file blender/makesrna/intern/rna_curve.c
* \ ingroup RNA
*/
2008-12-01 19:02:27 +00:00
# include <stdlib.h>
# include "RNA_define.h"
# include "rna_internal.h"
# include "DNA_curve_types.h"
2010-08-12 06:28:46 +00:00
# include "DNA_key_types.h"
2009-03-28 10:52:51 +00:00
# include "DNA_material_types.h"
2009-06-20 11:44:56 +00:00
# include "DNA_scene_types.h"
2008-12-01 19:02:27 +00:00
2009-08-03 15:06:56 +00:00
# include "BKE_font.h"
2009-09-08 07:35:07 +00:00
# include "WM_types.h"
2010-07-25 11:57:36 +00:00
# include "BKE_curve.h"
# include "ED_curve.h"
2009-05-08 10:50:32 +00:00
EnumPropertyItem beztriple_handle_type_items [ ] = {
2009-06-16 00:52:21 +00:00
{ HD_FREE , " FREE " , 0 , " Free " , " " } ,
{ HD_VECT , " VECTOR " , 0 , " Vector " , " " } ,
{ HD_ALIGN , " ALIGNED " , 0 , " Aligned " , " " } ,
2011-08-05 11:23:28 +00:00
{ HD_AUTO , " AUTO " , 0 , " Auto " , " " } ,
2009-06-16 00:52:21 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2011-08-04 14:13:05 +00:00
EnumPropertyItem keyframe_handle_type_items [ ] = {
{ HD_FREE , " FREE " , 0 , " Free " , " " } ,
{ HD_VECT , " VECTOR " , 0 , " Vector " , " " } ,
{ HD_ALIGN , " ALIGNED " , 0 , " Aligned " , " " } ,
2011-08-05 11:23:28 +00:00
{ HD_AUTO , " AUTO " , 0 , " Automatic " , " " } ,
{ HD_AUTO_ANIM , " AUTO_CLAMPED " , 0 , " Auto Clamped " , " Auto handles clamped to not overshoot " } ,
2011-08-04 14:13:05 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-06-07 13:09:18 +00:00
2009-05-08 10:50:32 +00:00
EnumPropertyItem beztriple_interpolation_mode_items [ ] = {
2009-06-16 00:52:21 +00:00
{ BEZT_IPO_CONST , " CONSTANT " , 0 , " Constant " , " " } ,
{ BEZT_IPO_LIN , " LINEAR " , 0 , " Linear " , " " } ,
{ BEZT_IPO_BEZ , " BEZIER " , 0 , " Bezier " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-05-08 10:50:32 +00:00
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
EnumPropertyItem curve_type_items [ ] = {
{ CU_POLY , " POLY " , 0 , " Poly " , " " } ,
{ CU_BEZIER , " BEZIER " , 0 , " Bezier " , " " } ,
{ CU_BSPLINE , " BSPLINE " , 0 , " BSpline " , " " } ,
{ CU_CARDINAL , " CARDINAL " , 0 , " Cardinal " , " " } ,
{ CU_NURBS , " NURBS " , 0 , " Ease " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2012-03-05 23:30:41 +00:00
static const EnumPropertyItem curve3d_fill_mode_items [ ] = {
2011-09-19 09:47:58 +00:00
{ 0 , " FULL " , 0 , " Full " , " " } ,
{ CU_BACK , " BACK " , 0 , " Back " , " " } ,
{ CU_FRONT , " FRONT " , 0 , " Front " , " " } ,
{ CU_FRONT | CU_BACK , " HALF " , 0 , " Half " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2012-03-05 23:30:41 +00:00
static const EnumPropertyItem curve2d_fill_mode_items [ ] = {
2011-09-19 09:47:58 +00:00
{ 0 , " NONE " , 0 , " None " , " " } ,
{ CU_BACK , " BACK " , 0 , " Back " , " " } ,
{ CU_FRONT , " FRONT " , 0 , " Front " , " " } ,
{ CU_FRONT | CU_BACK , " BOTH " , 0 , " Both " , " " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2008-12-01 19:02:27 +00:00
# ifdef RNA_RUNTIME
2010-04-12 05:04:49 +00:00
# include "BLI_math.h"
2009-06-07 13:09:18 +00:00
# include "DNA_object_types.h"
# include "BKE_curve.h"
2009-08-03 15:06:56 +00:00
# include "BKE_depsgraph.h"
2009-08-10 21:10:09 +00:00
# include "BKE_main.h"
2009-08-03 15:06:56 +00:00
# include "WM_api.h"
2009-06-07 13:09:18 +00:00
2009-11-12 14:40:09 +00:00
# include "MEM_guardedalloc.h"
2012-04-28 16:49:00 +00:00
# include "ED_curve.h" /* for BKE_curve_nurbs_get */
2010-07-25 11:57:36 +00:00
2010-11-17 03:15:08 +00:00
/* highly irritating but from RNA we cant know this */
static Nurb * curve_nurb_from_point ( Curve * cu , const void * point , int * nu_index , int * pt_index )
{
2012-04-28 16:49:00 +00:00
ListBase * nurbs = BKE_curve_nurbs_get ( cu ) ;
2010-11-17 03:15:08 +00:00
Nurb * nu ;
2012-03-05 23:30:41 +00:00
int i = 0 ;
2010-11-17 03:15:08 +00:00
2012-03-05 23:30:41 +00:00
for ( nu = nurbs - > first ; nu ; nu = nu - > next , i + + ) {
if ( nu - > type = = CU_BEZIER ) {
if ( point > = ( void * ) nu - > bezt & & point < ( void * ) ( nu - > bezt + nu - > pntsu ) ) {
2010-11-17 03:15:08 +00:00
break ;
}
}
else {
2012-03-05 23:30:41 +00:00
if ( point > = ( void * ) nu - > bp & & point < ( void * ) ( nu - > bp + ( nu - > pntsu * nu - > pntsv ) ) ) {
2010-11-17 03:15:08 +00:00
break ;
}
}
}
2012-03-05 23:30:41 +00:00
if ( nu ) {
if ( nu_index ) {
* nu_index = i ;
2010-11-17 12:52:56 +00:00
}
2012-03-05 23:30:41 +00:00
if ( pt_index ) {
if ( nu - > type = = CU_BEZIER ) * pt_index = ( int ) ( ( BezTriple * ) point - nu - > bezt ) ;
else * pt_index = ( int ) ( ( BPoint * ) point - nu - > bp ) ;
2010-11-17 12:52:56 +00:00
}
2010-11-17 03:15:08 +00:00
}
return nu ;
}
2009-09-14 16:52:06 +00:00
static StructRNA * rna_Curve_refine ( PointerRNA * ptr )
2009-06-07 13:09:18 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2012-04-28 16:49:00 +00:00
short obtype = BKE_curve_type_get ( cu ) ;
2010-01-11 05:10:57 +00:00
2012-03-05 23:30:41 +00:00
if ( obtype = = OB_FONT ) return & RNA_TextCurve ;
else if ( obtype = = OB_SURF ) return & RNA_SurfaceCurve ;
2009-06-07 13:09:18 +00:00
else return & RNA_Curve ;
}
2009-02-02 19:57:57 +00:00
static void rna_BezTriple_handle1_get ( PointerRNA * ptr , float * values )
2009-02-02 11:51:10 +00:00
{
2012-03-05 23:30:41 +00:00
BezTriple * bt = ( BezTriple * ) ptr - > data ;
2009-02-02 19:57:57 +00:00
2012-03-05 23:30:41 +00:00
values [ 0 ] = bt - > vec [ 0 ] [ 0 ] ;
values [ 1 ] = bt - > vec [ 0 ] [ 1 ] ;
values [ 2 ] = bt - > vec [ 0 ] [ 2 ] ;
2009-02-02 11:51:10 +00:00
}
2009-02-02 19:57:57 +00:00
static void rna_BezTriple_handle1_set ( PointerRNA * ptr , const float * values )
2009-02-02 11:51:10 +00:00
{
2012-03-05 23:30:41 +00:00
BezTriple * bt = ( BezTriple * ) ptr - > data ;
2009-02-02 19:57:57 +00:00
2012-03-05 23:30:41 +00:00
bt - > vec [ 0 ] [ 0 ] = values [ 0 ] ;
bt - > vec [ 0 ] [ 1 ] = values [ 1 ] ;
bt - > vec [ 0 ] [ 2 ] = values [ 2 ] ;
2009-02-02 11:51:10 +00:00
}
2009-02-02 19:57:57 +00:00
static void rna_BezTriple_handle2_get ( PointerRNA * ptr , float * values )
2009-02-02 11:51:10 +00:00
{
2012-03-05 23:30:41 +00:00
BezTriple * bt = ( BezTriple * ) ptr - > data ;
2009-02-02 19:57:57 +00:00
2012-03-05 23:30:41 +00:00
values [ 0 ] = bt - > vec [ 2 ] [ 0 ] ;
values [ 1 ] = bt - > vec [ 2 ] [ 1 ] ;
values [ 2 ] = bt - > vec [ 2 ] [ 2 ] ;
2009-02-02 11:51:10 +00:00
}
2009-02-02 19:57:57 +00:00
static void rna_BezTriple_handle2_set ( PointerRNA * ptr , const float * values )
2009-02-02 11:51:10 +00:00
{
2012-03-05 23:30:41 +00:00
BezTriple * bt = ( BezTriple * ) ptr - > data ;
2009-02-02 19:57:57 +00:00
2012-03-05 23:30:41 +00:00
bt - > vec [ 2 ] [ 0 ] = values [ 0 ] ;
bt - > vec [ 2 ] [ 1 ] = values [ 1 ] ;
bt - > vec [ 2 ] [ 2 ] = values [ 2 ] ;
2009-02-02 11:51:10 +00:00
}
2009-02-02 19:57:57 +00:00
static void rna_BezTriple_ctrlpoint_get ( PointerRNA * ptr , float * values )
2009-02-02 11:51:10 +00:00
{
2012-03-05 23:30:41 +00:00
BezTriple * bt = ( BezTriple * ) ptr - > data ;
2009-02-02 19:57:57 +00:00
2012-03-05 23:30:41 +00:00
values [ 0 ] = bt - > vec [ 1 ] [ 0 ] ;
values [ 1 ] = bt - > vec [ 1 ] [ 1 ] ;
values [ 2 ] = bt - > vec [ 1 ] [ 2 ] ;
2009-02-02 11:51:10 +00:00
}
2009-02-02 19:57:57 +00:00
static void rna_BezTriple_ctrlpoint_set ( PointerRNA * ptr , const float * values )
2009-02-02 11:51:10 +00:00
{
2012-03-05 23:30:41 +00:00
BezTriple * bt = ( BezTriple * ) ptr - > data ;
2009-02-02 19:57:57 +00:00
2012-03-05 23:30:41 +00:00
bt - > vec [ 1 ] [ 0 ] = values [ 0 ] ;
bt - > vec [ 1 ] [ 1 ] = values [ 1 ] ;
bt - > vec [ 1 ] [ 2 ] = values [ 2 ] ;
2009-02-02 11:51:10 +00:00
}
2011-05-31 02:14:25 +00:00
static void rna_Curve_texspace_set ( Main * UNUSED ( bmain ) , Scene * UNUSED ( scene ) , PointerRNA * ptr )
2011-01-06 11:16:35 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2011-01-06 11:16:35 +00:00
if ( cu - > texflag & CU_AUTOSPACE )
2012-04-28 16:49:00 +00:00
BKE_curve_tex_space_calc ( cu ) ;
2011-01-06 11:16:35 +00:00
}
2008-12-02 23:45:11 +00:00
static int rna_Curve_texspace_editable ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2009-03-23 13:24:48 +00:00
return ( cu - > texflag & CU_AUTOSPACE ) ? 0 : PROP_EDITABLE ;
2008-12-02 23:45:11 +00:00
}
2010-04-12 05:04:49 +00:00
static void rna_Curve_texspace_loc_get ( PointerRNA * ptr , float * values )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2010-04-12 05:04:49 +00:00
if ( ! cu - > bb )
2012-04-28 16:49:00 +00:00
BKE_curve_tex_space_calc ( cu ) ;
2010-04-12 05:04:49 +00:00
copy_v3_v3 ( values , cu - > loc ) ;
}
static void rna_Curve_texspace_loc_set ( PointerRNA * ptr , const float * values )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2010-04-12 05:04:49 +00:00
copy_v3_v3 ( cu - > loc , values ) ;
}
static void rna_Curve_texspace_size_get ( PointerRNA * ptr , float * values )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2010-04-12 05:04:49 +00:00
if ( ! cu - > bb )
2012-04-28 16:49:00 +00:00
BKE_curve_tex_space_calc ( cu ) ;
2010-04-12 05:04:49 +00:00
copy_v3_v3 ( values , cu - > size ) ;
}
static void rna_Curve_texspace_size_set ( PointerRNA * ptr , const float * values )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
2010-04-12 05:04:49 +00:00
copy_v3_v3 ( cu - > size , values ) ;
}
2012-03-30 16:09:05 +00:00
static void rna_Curve_material_index_range ( PointerRNA * ptr , int * min , int * max , int * softmin , int * softmax )
2009-03-28 10:52:51 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
* min = 0 ;
* max = cu - > totcol - 1 ;
* max = MAX2 ( 0 , * max ) ;
2009-03-28 10:52:51 +00:00
}
2012-03-30 16:09:05 +00:00
static void rna_Curve_active_textbox_index_range ( PointerRNA * ptr , int * min , int * max , int * softmin , int * softmax )
2009-09-09 00:10:12 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
* min = 0 ;
* max = cu - > totbox - 1 ;
* max = MAX2 ( 0 , * max ) ;
2009-09-09 00:10:12 +00:00
}
2009-09-13 17:38:43 +00:00
static void rna_Curve_dimension_set ( PointerRNA * ptr , int value )
2009-03-28 10:52:51 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
if ( value = = CU_3D ) cu - > flag | = CU_3D ;
2011-11-03 16:16:19 +00:00
else cu - > flag & = ~ CU_3D ;
2012-04-28 16:49:00 +00:00
BKE_curve_curve_dimension_update ( cu ) ;
2009-03-28 10:52:51 +00:00
}
2012-03-18 09:27:36 +00:00
static EnumPropertyItem * rna_Curve_fill_mode_itemf ( bContext * UNUSED ( C ) , PointerRNA * ptr ,
PropertyRNA * UNUSED ( prop ) , int * UNUSED ( free ) )
2011-09-19 09:47:58 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2011-09-19 09:47:58 +00:00
2011-09-20 06:25:15 +00:00
/* cast to quiet warning it IS a const still */
return ( EnumPropertyItem * ) ( ( cu - > flag & CU_3D ) ? curve3d_fill_mode_items : curve2d_fill_mode_items ) ;
2011-09-19 09:47:58 +00:00
}
2009-09-08 00:23:33 +00:00
static int rna_Nurb_length ( PointerRNA * ptr )
2009-09-07 15:02:43 +00:00
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
if ( nu - > type = = CU_BEZIER ) return 0 ;
2009-09-08 00:23:33 +00:00
return nu - > pntsv > 0 ? nu - > pntsu * nu - > pntsv : nu - > pntsu ;
2009-09-07 15:02:43 +00:00
}
static void rna_Nurb_type_set ( PointerRNA * ptr , int value )
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
2011-07-05 08:57:11 +00:00
ED_nurb_set_spline_type ( nu , value ) ;
2009-09-07 15:02:43 +00:00
}
2009-03-28 10:52:51 +00:00
static void rna_BPoint_array_begin ( CollectionPropertyIterator * iter , PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
2012-03-18 09:27:36 +00:00
rna_iterator_array_begin ( iter , ( void * ) nu - > bp , sizeof ( BPoint ) ,
nu - > pntsv > 0 ? nu - > pntsu * nu - > pntsv : nu - > pntsu , 0 , NULL ) ;
2009-03-28 10:52:51 +00:00
}
2011-05-31 02:14:25 +00:00
static void rna_Curve_update_data_id ( Main * UNUSED ( bmain ) , Scene * UNUSED ( scene ) , ID * id )
2009-08-03 15:06:56 +00:00
{
2011-01-03 12:41:16 +00:00
DAG_id_tag_update ( id , 0 ) ;
2009-12-08 17:23:48 +00:00
WM_main_add_notifier ( NC_GEOM | ND_DATA , id ) ;
2009-08-03 15:06:56 +00:00
}
2009-09-08 07:35:07 +00:00
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
static void rna_Curve_update_data ( Main * bmain , Scene * scene , PointerRNA * ptr )
{
rna_Curve_update_data_id ( bmain , scene , ptr - > id . data ) ;
}
2009-12-08 17:23:48 +00:00
static void rna_Curve_update_deps ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-11-05 19:32:10 +00:00
{
2010-08-01 12:47:49 +00:00
DAG_scene_sort ( bmain , scene ) ;
2009-12-08 17:23:48 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
2009-11-05 19:32:10 +00:00
}
2010-11-17 03:15:08 +00:00
static void rna_Curve_update_points ( Main * bmain , Scene * scene , PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
Nurb * nu = curve_nurb_from_point ( cu , ptr - > data , NULL , NULL ) ;
2010-11-17 03:15:08 +00:00
2012-03-05 23:30:41 +00:00
if ( nu )
2012-04-28 16:49:00 +00:00
BKE_nurb_handles_calc ( nu ) ;
2010-11-17 03:15:08 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
}
2010-04-01 08:49:11 +00:00
static PointerRNA rna_Curve_bevelObject_get ( PointerRNA * ptr )
2010-03-30 14:33:05 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
Object * ob = cu - > bevobj ;
2010-04-01 08:49:11 +00:00
2012-03-05 23:30:41 +00:00
if ( ob )
2010-04-01 08:49:11 +00:00
return rna_pointer_inherit_refine ( ptr , & RNA_Object , ob ) ;
return rna_pointer_inherit_refine ( ptr , NULL , NULL ) ;
}
static void rna_Curve_bevelObject_set ( PointerRNA * ptr , PointerRNA value )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
Object * ob = ( Object * ) value . data ;
2010-03-30 14:33:05 +00:00
2010-03-30 18:10:05 +00:00
if ( ob ) {
2010-04-01 08:49:11 +00:00
/* if bevel object has got the save curve, as object, for which it's */
/* set as bevobj, there could be infinity loop in displist calculation */
if ( ob - > type = = OB_CURVE & & ob - > data ! = cu ) {
cu - > bevobj = ob ;
2010-03-30 18:10:05 +00:00
}
2012-03-24 06:24:53 +00:00
}
else {
2010-04-01 08:49:11 +00:00
cu - > bevobj = NULL ;
2010-03-30 14:33:05 +00:00
}
2010-04-01 08:49:11 +00:00
}
2010-03-30 14:33:05 +00:00
2010-08-03 06:51:36 +00:00
static int rna_Curve_otherObject_poll ( PointerRNA * ptr , PointerRNA value )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
Object * ob = ( Object * ) value . data ;
2010-08-03 06:51:36 +00:00
if ( ob ) {
if ( ob - > type = = OB_CURVE & & ob - > data ! = cu ) {
return 1 ;
}
}
return 0 ;
}
2010-04-01 08:49:11 +00:00
static PointerRNA rna_Curve_taperObject_get ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
Object * ob = cu - > taperobj ;
2010-04-01 08:49:11 +00:00
2012-03-05 23:30:41 +00:00
if ( ob )
2010-04-01 08:49:11 +00:00
return rna_pointer_inherit_refine ( ptr , & RNA_Object , ob ) ;
return rna_pointer_inherit_refine ( ptr , NULL , NULL ) ;
2010-03-30 14:33:05 +00:00
}
2010-04-01 08:49:11 +00:00
static void rna_Curve_taperObject_set ( PointerRNA * ptr , PointerRNA value )
2010-03-30 14:33:05 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
Object * ob = ( Object * ) value . data ;
2010-03-30 14:33:05 +00:00
2010-03-30 18:10:05 +00:00
if ( ob ) {
2010-04-01 08:49:11 +00:00
/* if taper object has got the save curve, as object, for which it's */
2010-03-30 18:10:05 +00:00
/* set as bevobj, there could be infinity loop in displist calculation */
2010-04-01 08:49:11 +00:00
if ( ob - > type = = OB_CURVE & & ob - > data ! = cu ) {
cu - > taperobj = ob ;
2010-03-30 18:10:05 +00:00
}
2012-03-24 06:24:53 +00:00
}
else {
2010-04-01 08:49:11 +00:00
cu - > taperobj = NULL ;
2010-03-30 14:33:05 +00:00
}
}
2009-12-08 17:23:48 +00:00
static void rna_Curve_resolution_u_update_data ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-12-04 01:38:36 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2012-04-28 16:49:00 +00:00
ListBase * nurbs = BKE_curve_nurbs_get ( cu ) ;
2012-03-05 23:30:41 +00:00
Nurb * nu = nurbs - > first ;
2010-07-25 11:57:36 +00:00
2012-03-05 23:30:41 +00:00
while ( nu ) {
nu - > resolu = cu - > resolu ;
nu = nu - > next ;
2009-12-04 01:38:36 +00:00
}
2009-12-08 17:23:48 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
2009-12-04 01:38:36 +00:00
}
2009-12-08 17:23:48 +00:00
static void rna_Curve_resolution_v_update_data ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-12-04 01:38:36 +00:00
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2012-04-28 16:49:00 +00:00
ListBase * nurbs = BKE_curve_nurbs_get ( cu ) ;
2012-03-05 23:30:41 +00:00
Nurb * nu = nurbs - > first ;
2010-07-25 11:57:36 +00:00
2012-03-05 23:30:41 +00:00
while ( nu ) {
nu - > resolv = cu - > resolv ;
nu = nu - > next ;
2009-12-04 01:38:36 +00:00
}
2010-07-25 11:57:36 +00:00
2009-12-08 17:23:48 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
2009-12-04 01:38:36 +00:00
}
2010-09-02 07:00:34 +00:00
static float rna_Curve_offset_get ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2010-09-02 07:00:34 +00:00
return cu - > width - 1.0f ;
}
static void rna_Curve_offset_set ( PointerRNA * ptr , float value )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
cu - > width = 1.0f + value ;
2010-09-02 07:00:34 +00:00
}
2009-11-12 14:40:09 +00:00
/* name functions that ignore the first two ID characters */
void rna_Curve_body_get ( PointerRNA * ptr , char * value )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2010-07-17 17:50:20 +00:00
BLI_strncpy ( value , cu - > str , cu - > len + 1 ) ;
2009-11-12 14:40:09 +00:00
}
int rna_Curve_body_length ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2010-07-17 17:50:20 +00:00
return cu - > len ;
2009-11-12 14:40:09 +00:00
}
/* TODO - check UTF & python play nice */
void rna_Curve_body_set ( PointerRNA * ptr , const char * value )
{
2012-03-05 23:30:41 +00:00
int len = strlen ( value ) ;
Curve * cu = ( Curve * ) ptr - > id . data ;
2009-11-12 14:40:09 +00:00
2012-03-05 23:30:41 +00:00
cu - > len = cu - > pos = len ;
2009-11-12 14:40:09 +00:00
2012-03-18 09:27:36 +00:00
if ( cu - > str )
MEM_freeN ( cu - > str ) ;
if ( cu - > strinfo )
MEM_freeN ( cu - > strinfo ) ;
2009-11-12 14:40:09 +00:00
cu - > str = MEM_callocN ( len + sizeof ( wchar_t ) , " str " ) ;
2012-03-18 09:27:36 +00:00
/* don't know why this is +4, just duplicating load_editText() */
cu - > strinfo = MEM_callocN ( ( len + 4 ) * sizeof ( CharInfo ) , " strinfo " ) ;
2009-11-12 14:40:09 +00:00
2012-03-05 23:30:41 +00:00
/*BLI_strncpy_wchar_as_utf8(cu->str, value, len+1); */ /* value is not wchar_t */
2009-11-12 14:40:09 +00:00
BLI_strncpy ( cu - > str , value , len + 1 ) ;
}
2010-10-04 10:06:18 +00:00
static void rna_Nurb_update_cyclic_u ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-09-08 07:35:07 +00:00
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
2009-09-08 07:35:07 +00:00
2012-03-05 23:30:41 +00:00
if ( nu - > type = = CU_BEZIER ) {
2012-04-28 16:49:00 +00:00
BKE_nurb_handles_calc ( nu ) ;
2012-03-24 06:24:53 +00:00
}
else {
2012-04-28 16:49:00 +00:00
BKE_nurb_knot_calc_u ( nu ) ;
2010-10-04 10:06:18 +00:00
}
rna_Curve_update_data ( bmain , scene , ptr ) ;
}
static void rna_Nurb_update_cyclic_v ( Main * bmain , Scene * scene , PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
2010-10-04 10:06:18 +00:00
2012-04-28 16:49:00 +00:00
BKE_nurb_knot_calc_v ( nu ) ;
2009-09-08 07:35:07 +00:00
2009-12-08 17:23:48 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
2009-09-08 07:35:07 +00:00
}
2009-12-08 17:23:48 +00:00
static void rna_Nurb_update_knot_u ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-09-08 07:35:07 +00:00
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
2009-09-08 07:35:07 +00:00
2012-04-28 16:49:00 +00:00
BKE_nurb_order_clamp_u ( nu ) ;
BKE_nurb_knot_calc_u ( nu ) ;
2009-09-08 07:35:07 +00:00
2009-12-08 17:23:48 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
2009-09-08 07:35:07 +00:00
}
2009-12-08 17:23:48 +00:00
static void rna_Nurb_update_knot_v ( Main * bmain , Scene * scene , PointerRNA * ptr )
2009-09-08 07:35:07 +00:00
{
2012-03-05 23:30:41 +00:00
Nurb * nu = ( Nurb * ) ptr - > data ;
2009-09-08 07:35:07 +00:00
2012-04-28 16:49:00 +00:00
BKE_nurb_order_clamp_v ( nu ) ;
BKE_nurb_knot_calc_v ( nu ) ;
2009-09-08 07:35:07 +00:00
2009-12-08 17:23:48 +00:00
rna_Curve_update_data ( bmain , scene , ptr ) ;
2009-09-08 07:35:07 +00:00
}
2010-04-06 01:28:39 +00:00
static void rna_Curve_spline_points_add ( ID * id , Nurb * nu , ReportList * reports , int number )
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
{
2012-03-05 23:30:41 +00:00
if ( nu - > type = = CU_BEZIER ) {
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
BKE_report ( reports , RPT_ERROR , " Bezier spline can't have points added " ) ;
}
2012-03-05 23:30:41 +00:00
else if ( number = = 0 ) {
/* do nothing */
2012-03-24 06:24:53 +00:00
}
else {
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-04-28 16:49:00 +00:00
BKE_nurb_points_add ( nu , number ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
/* update */
2012-04-28 16:49:00 +00:00
BKE_nurb_knot_calc_u ( nu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2010-04-06 01:28:39 +00:00
rna_Curve_update_data_id ( NULL , NULL , id ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
}
2010-04-06 01:28:39 +00:00
static void rna_Curve_spline_bezpoints_add ( ID * id , Nurb * nu , ReportList * reports , int number )
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
{
2012-03-05 23:30:41 +00:00
if ( nu - > type ! = CU_BEZIER ) {
2011-04-11 01:18:25 +00:00
BKE_report ( reports , RPT_ERROR , " Only Bezier splines can be added " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
2012-03-05 23:30:41 +00:00
else if ( number = = 0 ) {
/* do nothing */
2012-03-24 06:24:53 +00:00
}
else {
2012-04-28 16:49:00 +00:00
BKE_nurb_bezierPoints_add ( nu , number ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
/* update */
2012-04-28 16:49:00 +00:00
BKE_nurb_knot_calc_u ( nu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2010-04-06 01:28:39 +00:00
rna_Curve_update_data_id ( NULL , NULL , id ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
}
static Nurb * rna_Curve_spline_new ( Curve * cu , int type )
{
2012-04-29 17:11:40 +00:00
Nurb * nu = ( Nurb * ) MEM_callocN ( sizeof ( Nurb ) , " spline.new " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-03-05 23:30:41 +00:00
if ( type = = CU_BEZIER ) {
BezTriple * bezt = ( BezTriple * ) MEM_callocN ( sizeof ( BezTriple ) , " spline.new.bezt " ) ;
bezt - > radius = 1.0 ;
nu - > bezt = bezt ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
else {
2012-03-05 23:30:41 +00:00
BPoint * bp = ( BPoint * ) MEM_callocN ( sizeof ( BPoint ) , " spline.new.bp " ) ;
bp - > radius = 1.0f ;
nu - > bp = bp ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
2012-03-05 23:30:41 +00:00
nu - > type = type ;
nu - > pntsu = 1 ;
nu - > pntsv = 1 ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-03-05 23:30:41 +00:00
nu - > orderu = nu - > orderv = 4 ;
nu - > resolu = nu - > resolv = 12 ;
nu - > flag = CU_SMOOTH ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-04-28 16:49:00 +00:00
BLI_addtail ( BKE_curve_nurbs_get ( cu ) , nu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
return nu ;
}
static void rna_Curve_spline_remove ( Curve * cu , ReportList * reports , Nurb * nu )
{
2012-03-05 23:30:41 +00:00
int found = 0 ;
2012-04-28 16:49:00 +00:00
ListBase * nurbs = BKE_curve_nurbs_get ( cu ) ;
2010-07-25 11:57:36 +00:00
2012-03-05 23:30:41 +00:00
found = BLI_remlink_safe ( nurbs , nu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-03-05 23:30:41 +00:00
if ( ! found ) {
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
BKE_reportf ( reports , RPT_ERROR , " Curve \" %s \" does not contain spline given " , cu - > id . name + 2 ) ;
return ;
}
2012-04-28 16:49:00 +00:00
BKE_nurb_free ( nu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
/* invalidate pointer!, no can do */
2011-11-23 16:12:11 +00:00
DAG_id_tag_update ( & cu - > id , OB_RECALC_DATA ) ;
WM_main_add_notifier ( NC_GEOM | ND_DATA , NULL ) ;
}
static void rna_Curve_spline_clear ( Curve * cu )
{
2012-04-28 16:49:00 +00:00
ListBase * nurbs = BKE_curve_nurbs_get ( cu ) ;
2011-11-23 16:12:11 +00:00
2012-04-28 16:49:00 +00:00
BKE_nurbList_free ( nurbs ) ;
2011-11-23 16:12:11 +00:00
DAG_id_tag_update ( & cu - > id , OB_RECALC_DATA ) ;
WM_main_add_notifier ( NC_GEOM | ND_DATA , NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
static PointerRNA rna_Curve_active_spline_get ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
Nurb * nu ;
2012-04-28 16:49:00 +00:00
ListBase * nurbs = BKE_curve_nurbs_get ( cu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-03-05 23:30:41 +00:00
/* for curve outside editmode will set to -1, should be changed to be allowed outside of editmode. */
nu = BLI_findlink ( nurbs , cu - > actnu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-03-05 23:30:41 +00:00
if ( nu )
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
return rna_pointer_inherit_refine ( ptr , & RNA_Spline , nu ) ;
return rna_pointer_inherit_refine ( ptr , NULL , NULL ) ;
}
static void rna_Curve_active_spline_set ( PointerRNA * ptr , PointerRNA value )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > data ;
Nurb * nu = value . data ;
2012-04-28 16:49:00 +00:00
ListBase * nubase = BKE_curve_nurbs_get ( cu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
/* -1 is ok for an unset index */
2012-03-05 23:30:41 +00:00
if ( nu = = NULL )
cu - > actnu = - 1 ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
else
2012-03-05 23:30:41 +00:00
cu - > actnu = BLI_findindex ( nubase , nu ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
2010-11-17 03:15:08 +00:00
static char * rna_Curve_spline_path ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2012-04-28 16:49:00 +00:00
ListBase * nubase = BKE_curve_nurbs_get ( cu ) ;
2012-03-05 23:30:41 +00:00
Nurb * nu = ptr - > data ;
int index = BLI_findindex ( nubase , nu ) ;
2010-11-17 03:15:08 +00:00
if ( index > = 0 )
return BLI_sprintfN ( " splines[%d] " , index ) ;
else
return BLI_strdup ( " " ) ;
}
/* use for both bezier and nurbs */
static char * rna_Curve_spline_point_path ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2010-11-17 03:15:08 +00:00
Nurb * nu ;
2012-03-05 23:30:41 +00:00
void * point = ptr - > data ;
2010-11-17 03:15:08 +00:00
int nu_index , pt_index ;
2012-03-05 23:30:41 +00:00
nu = curve_nurb_from_point ( cu , point , & nu_index , & pt_index ) ;
2010-11-17 03:15:08 +00:00
if ( nu ) {
2012-03-05 23:30:41 +00:00
if ( nu - > type = = CU_BEZIER ) {
2010-11-17 03:15:08 +00:00
return BLI_sprintfN ( " splines[%d].bezier_points[%d] " , nu_index , pt_index ) ;
}
else {
return BLI_sprintfN ( " splines[%d].points[%d] " , nu_index , pt_index ) ;
2012-03-05 23:30:41 +00:00
}
2010-11-17 03:15:08 +00:00
}
else {
return BLI_strdup ( " " ) ;
}
}
2010-07-30 06:48:18 +00:00
static char * rna_TextBox_path ( PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
TextBox * tb = ptr - > data ;
int index = ( int ) ( tb - cu - > tb ) ;
2010-07-30 06:48:18 +00:00
if ( index > = 0 & & index < cu - > totbox )
2011-08-09 14:50:40 +00:00
return BLI_sprintfN ( " text_boxes[%d] " , index ) ;
2010-07-30 06:48:18 +00:00
else
return BLI_strdup ( " " ) ;
}
2010-11-20 17:28:05 +00:00
static void rna_Curve_splines_begin ( CollectionPropertyIterator * iter , PointerRNA * ptr )
{
2012-03-05 23:30:41 +00:00
Curve * cu = ( Curve * ) ptr - > id . data ;
2012-04-28 16:49:00 +00:00
rna_iterator_listbase_begin ( iter , BKE_curve_nurbs_get ( cu ) , NULL ) ;
2010-11-20 17:28:05 +00:00
}
2008-12-01 19:02:27 +00:00
# else
2009-02-02 19:57:57 +00:00
static void rna_def_bpoint ( BlenderRNA * brna )
2009-02-02 11:51:10 +00:00
{
StructRNA * srna ;
PropertyRNA * prop ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " SplinePoint " , NULL ) ;
2009-02-02 11:51:10 +00:00
RNA_def_struct_sdna ( srna , " BPoint " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " SplinePoint " , " Spline point without handles " ) ;
2009-02-02 11:51:10 +00:00
/* Boolean values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " select " , PROP_BOOLEAN , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " f1 " , 0 ) ;
2010-07-15 16:56:04 +00:00
RNA_def_property_ui_text ( prop , " Select " , " Selection status " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " hide " , PROP_BOOLEAN , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " hide " , 0 ) ;
2010-07-15 16:56:04 +00:00
RNA_def_property_ui_text ( prop , " Hide " , " Visibility status " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
/* Vector value */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " co " , PROP_FLOAT , PROP_TRANSLATION ) ;
2009-11-29 16:42:51 +00:00
RNA_def_property_array ( prop , 3 ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_float_sdna ( prop , NULL , " vec " ) ;
RNA_def_property_ui_text ( prop , " Point " , " Point coordinates " ) ;
2012-04-10 08:33:30 +00:00
RNA_def_property_ui_range ( prop , - FLT_MAX , FLT_MAX , 1 , RNA_TRANSLATION_PREC_DEFAULT ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " weight " , PROP_FLOAT , PROP_NONE ) ;
2009-11-29 16:42:51 +00:00
RNA_def_property_float_sdna ( prop , NULL , " vec[3] " ) ;
2011-10-20 07:56:04 +00:00
RNA_def_property_ui_text ( prop , " Weight " , " NURBS weight " ) ;
2009-11-29 16:42:51 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
/* Number values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " tilt " , PROP_FLOAT , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_float_sdna ( prop , NULL , " alfa " ) ;
/*RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);*/
2010-02-09 17:50:56 +00:00
RNA_def_property_ui_text ( prop , " Tilt " , " Tilt in 3D View " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " weight_softbody " , PROP_FLOAT , PROP_NONE ) ;
2009-11-29 16:42:51 +00:00
RNA_def_property_float_sdna ( prop , NULL , " weight " ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_range ( prop , 0.01f , 100.0f ) ;
RNA_def_property_ui_text ( prop , " Weight " , " Softbody goal weight " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " radius " , PROP_FLOAT , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_float_sdna ( prop , NULL , " radius " ) ;
2010-11-17 12:59:59 +00:00
RNA_def_property_range ( prop , 0.0f , FLT_MAX ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_ui_text ( prop , " Bevel Radius " , " Radius for bevelling " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-11-17 03:15:08 +00:00
RNA_def_struct_path_func ( srna , " rna_Curve_spline_point_path " ) ;
2009-02-02 11:51:10 +00:00
}
2009-02-02 19:57:57 +00:00
static void rna_def_beztriple ( BlenderRNA * brna )
2009-02-02 11:51:10 +00:00
{
StructRNA * srna ;
PropertyRNA * prop ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " BezierSplinePoint " , NULL ) ;
2009-02-02 11:51:10 +00:00
RNA_def_struct_sdna ( srna , " BezTriple " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Bezier Curve Point " , " Bezier curve point with two handles " ) ;
2009-02-02 11:51:10 +00:00
/* Boolean values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " select_left_handle " , PROP_BOOLEAN , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " f1 " , 0 ) ;
RNA_def_property_ui_text ( prop , " Handle 1 selected " , " Handle 1 selection status " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " select_right_handle " , PROP_BOOLEAN , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " f3 " , 0 ) ;
RNA_def_property_ui_text ( prop , " Handle 2 selected " , " Handle 2 selection status " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " select_control_point " , PROP_BOOLEAN , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " f2 " , 0 ) ;
RNA_def_property_ui_text ( prop , " Control Point selected " , " Control point selection status " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " hide " , PROP_BOOLEAN , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " hide " , 0 ) ;
2010-07-15 16:56:04 +00:00
RNA_def_property_ui_text ( prop , " Hide " , " Visibility status " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
/* Enums */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " handle_left_type " , PROP_ENUM , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " h1 " ) ;
2009-05-08 10:50:32 +00:00
RNA_def_property_enum_items ( prop , beztriple_handle_type_items ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_ui_text ( prop , " Handle 1 Type " , " Handle types " ) ;
2010-11-17 03:15:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_points " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " handle_right_type " , PROP_ENUM , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " h2 " ) ;
2009-05-08 10:50:32 +00:00
RNA_def_property_enum_items ( prop , beztriple_handle_type_items ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_ui_text ( prop , " Handle 2 Type " , " Handle types " ) ;
2010-11-17 03:15:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_points " ) ;
2009-02-02 11:51:10 +00:00
/* Vector values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " handle_left " , PROP_FLOAT , PROP_TRANSLATION ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_array ( prop , 3 ) ;
RNA_def_property_float_funcs ( prop , " rna_BezTriple_handle1_get " , " rna_BezTriple_handle1_set " , NULL ) ;
RNA_def_property_ui_text ( prop , " Handle 1 " , " Coordinates of the first handle " ) ;
2012-04-10 08:33:30 +00:00
RNA_def_property_ui_range ( prop , - FLT_MAX , FLT_MAX , 1 , RNA_TRANSLATION_PREC_DEFAULT ) ;
2010-11-17 03:15:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_points " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " co " , PROP_FLOAT , PROP_TRANSLATION ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_array ( prop , 3 ) ;
RNA_def_property_float_funcs ( prop , " rna_BezTriple_ctrlpoint_get " , " rna_BezTriple_ctrlpoint_set " , NULL ) ;
RNA_def_property_ui_text ( prop , " Control Point " , " Coordinates of the control point " ) ;
2012-04-10 08:33:30 +00:00
RNA_def_property_ui_range ( prop , - FLT_MAX , FLT_MAX , 1 , RNA_TRANSLATION_PREC_DEFAULT ) ;
2010-11-17 03:15:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_points " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " handle_right " , PROP_FLOAT , PROP_TRANSLATION ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_array ( prop , 3 ) ;
RNA_def_property_float_funcs ( prop , " rna_BezTriple_handle2_get " , " rna_BezTriple_handle2_set " , NULL ) ;
RNA_def_property_ui_text ( prop , " Handle 2 " , " Coordinates of the second handle " ) ;
2012-04-10 08:33:30 +00:00
RNA_def_property_ui_range ( prop , - FLT_MAX , FLT_MAX , 1 , RNA_TRANSLATION_PREC_DEFAULT ) ;
2010-11-17 03:15:08 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_points " ) ;
2009-02-02 11:51:10 +00:00
/* Number values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " tilt " , PROP_FLOAT , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_float_sdna ( prop , NULL , " alfa " ) ;
/*RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);*/
2010-02-09 17:50:56 +00:00
RNA_def_property_ui_text ( prop , " Tilt " , " Tilt in 3D View " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " weight " , PROP_FLOAT , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_range ( prop , 0.01f , 100.0f ) ;
RNA_def_property_ui_text ( prop , " Weight " , " Softbody goal weight " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-02-02 11:51:10 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " radius " , PROP_FLOAT , PROP_NONE ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_float_sdna ( prop , NULL , " radius " ) ;
2010-11-17 12:59:59 +00:00
RNA_def_property_range ( prop , 0.0f , FLT_MAX ) ;
2009-02-02 11:51:10 +00:00
RNA_def_property_ui_text ( prop , " Bevel Radius " , " Radius for bevelling " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-11-17 03:15:08 +00:00
RNA_def_struct_path_func ( srna , " rna_Curve_spline_point_path " ) ;
2009-02-02 11:51:10 +00:00
}
2008-12-01 21:19:36 +00:00
static void rna_def_path ( BlenderRNA * brna , StructRNA * srna )
2008-12-01 19:02:27 +00:00
{
PropertyRNA * prop ;
/* number values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " path_duration " , PROP_INT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_int_sdna ( prop , NULL , " pathlen " ) ;
2010-02-03 06:30:16 +00:00
RNA_def_property_range ( prop , 1 , MAXFRAME ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Path Length " ,
" The number of frames that are needed to traverse the path, "
" defining the maximum value for the 'Evaluation Time' setting " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
/* flags */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_path " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_PATH ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Path " , " Enable the curve to become a translation path " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_path_follow " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_FOLLOW ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Follow " , " Make curve path children to rotate along the path " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_stretch " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_STRETCH ) ;
2012-02-28 11:18:05 +00:00
RNA_def_property_ui_text ( prop , " Stretch " , " Option for curve-deform: "
" make deformed child to stretch along entire path " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-08-06 08:27:07 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_deform_bounds " , PROP_BOOLEAN , PROP_NONE ) ;
2010-08-06 08:27:07 +00:00
RNA_def_property_boolean_negative_sdna ( prop , NULL , " flag " , CU_DEFORM_BOUNDS_OFF ) ;
2012-02-28 11:18:05 +00:00
RNA_def_property_ui_text ( prop , " Bounds Clamp " , " Option for curve-deform: "
" Use the mesh bounds to clamp the deformation " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-08-06 08:27:07 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_time_offset " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_OFFS_PATHDIST ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Offset Path Distance " ,
" Children will use TimeOffs value as path distance offset " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-09-12 16:25:49 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_radius " , PROP_BOOLEAN , PROP_NONE ) ;
2009-09-12 16:25:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_PATH_RADIUS ) ;
2012-02-28 11:18:05 +00:00
RNA_def_property_ui_text ( prop , " Radius " , " Option for paths and curve-deform: "
" apply the curve radius with path following it and deforming " ) ;
2009-09-12 16:25:49 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
}
2008-12-01 21:19:36 +00:00
static void rna_def_nurbs ( BlenderRNA * brna , StructRNA * srna )
2008-12-01 19:02:27 +00:00
{
PropertyRNA * prop ;
/* flags */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_uv_as_generated " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_UV_ORCO ) ;
2010-11-16 12:10:57 +00:00
RNA_def_property_ui_text ( prop , " Use UV for Mapping " , " Uses the UV values as Generated textured coordinates " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
}
2008-12-01 21:19:36 +00:00
static void rna_def_font ( BlenderRNA * brna , StructRNA * srna )
2008-12-01 19:02:27 +00:00
{
PropertyRNA * prop ;
2009-05-11 11:31:10 +00:00
static EnumPropertyItem prop_align_items [ ] = {
2009-06-16 00:52:21 +00:00
{ CU_LEFT , " LEFT " , 0 , " Left " , " Align text to the left " } ,
2010-12-11 11:11:32 +00:00
{ CU_MIDDLE , " CENTER " , 0 , " Center " , " Center text " } ,
2009-06-16 00:52:21 +00:00
{ CU_RIGHT , " RIGHT " , 0 , " Right " , " Align text to the right " } ,
{ CU_JUSTIFY , " JUSTIFY " , 0 , " Justify " , " Align to the left and the right " } ,
{ CU_FLUSH , " FLUSH " , 0 , " Flush " , " Align to the left and the right, with equal character spacing " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-05-11 11:31:10 +00:00
/* Enums */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " align " , PROP_ENUM , PROP_NONE ) ;
2010-08-19 17:31:10 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " spacemode " ) ;
2009-05-11 11:31:10 +00:00
RNA_def_property_enum_items ( prop , prop_align_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Text Align " , " Text align from the object center " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-05-11 11:31:10 +00:00
2008-12-01 19:02:27 +00:00
/* number values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " size " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " fsize " ) ;
2009-10-10 16:17:33 +00:00
RNA_def_property_range ( prop , 0.0001f , 10000.0f ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0.01 , 10 , 1 , 3 ) ;
2008-12-19 06:05:00 +00:00
RNA_def_property_ui_text ( prop , " Font size " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " small_caps_scale " , PROP_FLOAT , PROP_NONE ) ;
2010-07-13 22:21:59 +00:00
RNA_def_property_float_sdna ( prop , NULL , " smallcaps_scale " ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 1.0 , 1 , 2 ) ;
2010-07-13 22:21:59 +00:00
RNA_def_property_ui_text ( prop , " Small Caps " , " Scale of small capitals " ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " space_line " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " linedist " ) ;
RNA_def_property_range ( prop , 0.0f , 10.0f ) ;
2008-12-19 06:05:00 +00:00
RNA_def_property_ui_text ( prop , " Distance between lines of text " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " space_word " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " wordspace " ) ;
RNA_def_property_range ( prop , 0.0f , 10.0f ) ;
2008-12-19 06:05:00 +00:00
RNA_def_property_ui_text ( prop , " Spacing between words " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " space_character " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " spacing " ) ;
RNA_def_property_range ( prop , 0.0f , 10.0f ) ;
2008-12-19 06:05:00 +00:00
RNA_def_property_ui_text ( prop , " Global spacing between characters " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " shear " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " shear " ) ;
RNA_def_property_range ( prop , - 1.0f , 1.0f ) ;
2008-12-19 06:05:00 +00:00
RNA_def_property_ui_text ( prop , " Shear " , " Italic angle of the characters " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " offset_x " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " xof " ) ;
RNA_def_property_range ( prop , - 50.0f , 50.0f ) ;
2009-11-30 14:40:45 +00:00
RNA_def_property_ui_text ( prop , " X Offset " , " Horizontal offset from the object origin " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " offset_y " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " yof " ) ;
RNA_def_property_range ( prop , - 50.0f , 50.0f ) ;
2009-11-30 14:40:45 +00:00
RNA_def_property_ui_text ( prop , " Y Offset " , " Vertical offset from the object origin " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " underline_position " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " ulpos " ) ;
RNA_def_property_range ( prop , - 0.2f , 0.8f ) ;
2009-09-08 11:31:15 +00:00
RNA_def_property_ui_text ( prop , " Underline Position " , " Vertical position of underline " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " underline_height " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " ulheight " ) ;
RNA_def_property_range ( prop , - 0.2f , 0.8f ) ;
2009-09-08 11:31:15 +00:00
RNA_def_property_ui_text ( prop , " Underline Thickness " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " text_boxes " , PROP_COLLECTION , PROP_NONE ) ;
2009-09-09 00:10:12 +00:00
RNA_def_property_collection_sdna ( prop , NULL , " tb " , " totbox " ) ;
RNA_def_property_struct_type ( prop , " TextBox " ) ;
RNA_def_property_ui_text ( prop , " Textboxes " , " " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " active_textbox " , PROP_INT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_int_sdna ( prop , NULL , " actbox " ) ;
2008-12-19 06:05:00 +00:00
RNA_def_property_ui_text ( prop , " The active text box " , " " ) ;
2009-09-09 00:10:12 +00:00
RNA_def_property_int_funcs ( prop , NULL , NULL , " rna_Curve_active_textbox_index_range " ) ;
2008-12-01 19:02:27 +00:00
/* strings */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " family " , PROP_STRING , PROP_NONE ) ;
2011-04-19 06:59:49 +00:00
RNA_def_property_string_maxlength ( prop , MAX_ID_NAME - 2 ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Object Font " ,
" Use Blender Objects as font characters (give font objects a common name "
" followed by the character they represent, eg. familya, familyb, etc, "
" and turn on Verts Duplication) " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " body " , PROP_STRING , PROP_NONE ) ;
2008-12-02 23:45:11 +00:00
RNA_def_property_string_sdna ( prop , NULL , " str " ) ;
2011-11-26 12:30:01 +00:00
RNA_def_property_ui_text ( prop , " Body Text " , " Content of this text object " ) ;
2009-11-12 14:40:09 +00:00
RNA_def_property_string_funcs ( prop , " rna_Curve_body_get " , " rna_Curve_body_length " , " rna_Curve_body_set " ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_string_maxlength ( prop , 8192 ) ; /* note that originally str did not have a limit! */
2009-11-12 14:40:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-07-17 17:50:20 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " body_format " , PROP_COLLECTION , PROP_NONE ) ;
2010-07-17 17:50:20 +00:00
RNA_def_property_collection_sdna ( prop , NULL , " strinfo " , " len " ) ;
RNA_def_property_struct_type ( prop , " TextCharacterFormat " ) ;
RNA_def_property_ui_text ( prop , " Character Info " , " Stores the style of each character " ) ;
2008-12-01 19:02:27 +00:00
/* pointers */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " follow_curve " , PROP_POINTER , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " textoncurve " ) ;
2010-08-03 06:51:36 +00:00
RNA_def_property_pointer_funcs ( prop , NULL , NULL , NULL , " rna_Curve_otherObject_poll " ) ;
2009-05-28 23:23:47 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Text on Curve " , " Curve deforming text object " ) ;
2009-11-05 19:32:10 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_deps " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " font " , PROP_POINTER , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " vfont " ) ;
RNA_def_property_ui_text ( prop , " Font " , " " ) ;
2010-01-11 05:10:57 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-09-09 00:10:12 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " font_bold " , PROP_POINTER , PROP_NONE ) ;
2010-12-06 04:05:34 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " vfontb " ) ;
2011-07-12 09:30:40 +00:00
RNA_def_property_ui_text ( prop , " Font Bold " , " " ) ;
2010-12-06 04:05:34 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " font_italic " , PROP_POINTER , PROP_NONE ) ;
2010-12-06 04:05:34 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " vfonti " ) ;
2011-07-12 09:30:40 +00:00
RNA_def_property_ui_text ( prop , " Font Italic " , " " ) ;
2010-12-06 04:05:34 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " font_bold_italic " , PROP_POINTER , PROP_NONE ) ;
2010-12-06 04:05:34 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " vfontbi " ) ;
2011-07-12 09:30:40 +00:00
RNA_def_property_ui_text ( prop , " Font Bold Italic " , " " ) ;
2010-12-06 04:05:34 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " edit_format " , PROP_POINTER , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " curinfo " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Edit Format " , " Editing settings character formatting " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-12-06 04:05:34 +00:00
2008-12-01 19:02:27 +00:00
/* flags */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_fast_edit " , PROP_BOOLEAN , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_FAST ) ;
2011-07-12 09:30:40 +00:00
RNA_def_property_ui_text ( prop , " Fast Editing " , " Don't fill polygons while editing " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
}
2009-06-07 13:09:18 +00:00
static void rna_def_textbox ( BlenderRNA * brna )
2008-12-01 19:02:27 +00:00
{
StructRNA * srna ;
PropertyRNA * prop ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " TextBox " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Text Box " , " Text bounding box for layout " ) ;
2008-12-01 19:02:27 +00:00
/* number values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " x " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " x " ) ;
RNA_def_property_range ( prop , - 50.0f , 50.0f ) ;
RNA_def_property_ui_text ( prop , " Textbox X Offset " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " y " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " y " ) ;
RNA_def_property_range ( prop , - 50.0f , 50.0f ) ;
RNA_def_property_ui_text ( prop , " Textbox Y Offset " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " width " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " w " ) ;
RNA_def_property_range ( prop , 0.0f , 50.0f ) ;
RNA_def_property_ui_text ( prop , " Textbox Width " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " height " , PROP_FLOAT , PROP_NONE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_float_sdna ( prop , NULL , " h " ) ;
RNA_def_property_range ( prop , 0.0f , 50.0f ) ;
RNA_def_property_ui_text ( prop , " Textbox Height " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-07-30 06:48:18 +00:00
RNA_def_struct_path_func ( srna , " rna_TextBox_path " ) ;
2008-12-01 19:02:27 +00:00
}
2009-06-07 13:09:18 +00:00
static void rna_def_charinfo ( BlenderRNA * brna )
2008-12-01 19:02:27 +00:00
{
StructRNA * srna ;
PropertyRNA * prop ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " TextCharacterFormat " , NULL ) ;
2009-01-10 22:57:33 +00:00
RNA_def_struct_sdna ( srna , " CharInfo " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Text Character Format " , " Text character formatting settings " ) ;
2008-12-01 19:02:27 +00:00
/* flags */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_bold " , PROP_BOOLEAN , PROP_NONE ) ;
2010-07-13 23:51:21 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_CHINFO_BOLD ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_ui_text ( prop , " Bold " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_italic " , PROP_BOOLEAN , PROP_NONE ) ;
2010-07-13 23:51:21 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_CHINFO_ITALIC ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_ui_text ( prop , " Italic " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_underline " , PROP_BOOLEAN , PROP_NONE ) ;
2010-07-13 23:51:21 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_CHINFO_UNDERLINE ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_ui_text ( prop , " Underline " , " " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
2010-07-13 23:51:21 +00:00
/* probably there is no reason to expose this */
/* prop= RNA_def_property(srna, "wrap", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_CHINFO_WRAP ) ;
2008-12-01 19:02:27 +00:00
RNA_def_property_ui_text ( prop , " Wrap " , " " ) ;
2010-07-13 23:51:21 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ; */
2010-07-13 22:21:59 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_small_caps " , PROP_BOOLEAN , PROP_NONE ) ;
2010-07-13 23:51:21 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_CHINFO_SMALLCAPS ) ;
2010-07-13 22:21:59 +00:00
RNA_def_property_ui_text ( prop , " Small Caps " , " " ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2008-12-01 19:02:27 +00:00
}
2009-06-07 13:09:18 +00:00
static void rna_def_surface ( BlenderRNA * brna )
{
StructRNA * srna ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " SurfaceCurve " , " Curve " ) ;
2009-06-07 13:09:18 +00:00
RNA_def_struct_sdna ( srna , " Curve " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Surface Curve " , " Curve datablock used for storing surfaces " ) ;
2009-06-07 13:09:18 +00:00
RNA_def_struct_ui_icon ( srna , ICON_SURFACE_DATA ) ;
rna_def_nurbs ( brna , srna ) ;
}
static void rna_def_text ( BlenderRNA * brna )
{
StructRNA * srna ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " TextCurve " , " Curve " ) ;
2009-06-07 13:09:18 +00:00
RNA_def_struct_sdna ( srna , " Curve " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Text Curve " , " Curve datablock used for storing text " ) ;
2009-06-07 13:09:18 +00:00
RNA_def_struct_ui_icon ( srna , ICON_FONT_DATA ) ;
rna_def_font ( brna , srna ) ;
rna_def_nurbs ( brna , srna ) ;
}
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
/* curve.splines[0].points */
static void rna_def_curve_spline_points ( BlenderRNA * brna , PropertyRNA * cprop )
{
StructRNA * srna ;
2012-03-05 23:30:41 +00:00
/*PropertyRNA *prop; */
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
FunctionRNA * func ;
2012-03-05 23:30:41 +00:00
/*PropertyRNA *parm; */
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_srna ( cprop , " SplinePoints " ) ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " SplinePoints " , NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_struct_sdna ( srna , " Nurb " ) ;
RNA_def_struct_ui_text ( srna , " Spline Points " , " Collection of spline points " ) ;
2012-03-05 23:30:41 +00:00
func = RNA_def_function ( srna , " add " , " rna_Curve_spline_points_add " ) ;
2011-09-19 13:23:58 +00:00
RNA_def_function_ui_description ( func , " Add a number of points to this spline " ) ;
2010-04-06 01:28:39 +00:00
RNA_def_function_flag ( func , FUNC_USE_SELF_ID | FUNC_USE_REPORTS ) ;
2011-01-18 11:27:52 +00:00
RNA_def_int ( func , " count " , 1 , 1 , INT_MAX , " Number " , " Number of points to add to the spline " , 1 , INT_MAX ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
/*
func = RNA_def_function ( srna , " remove " , " rna_Curve_spline_remove " ) ;
2011-09-19 13:23:58 +00:00
RNA_def_function_ui_description ( func , " Remove a spline from a curve " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_function_flag ( func , FUNC_USE_REPORTS ) ;
2011-09-19 13:23:58 +00:00
parm = RNA_def_pointer ( func , " spline " , " Spline " , " " , " The spline to remove " ) ;
2010-08-24 06:40:28 +00:00
RNA_def_property_flag ( parm , PROP_REQUIRED | PROP_NEVER_NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
*/
}
static void rna_def_curve_spline_bezpoints ( BlenderRNA * brna , PropertyRNA * cprop )
{
StructRNA * srna ;
2012-03-05 23:30:41 +00:00
/*PropertyRNA *prop; */
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
FunctionRNA * func ;
2012-03-05 23:30:41 +00:00
/*PropertyRNA *parm; */
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_srna ( cprop , " SplineBezierPoints " ) ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " SplineBezierPoints " , NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_struct_sdna ( srna , " Nurb " ) ;
RNA_def_struct_ui_text ( srna , " Spline Bezier Points " , " Collection of spline bezirt points " ) ;
2012-03-05 23:30:41 +00:00
func = RNA_def_function ( srna , " add " , " rna_Curve_spline_bezpoints_add " ) ;
2011-09-19 13:23:58 +00:00
RNA_def_function_ui_description ( func , " Add a number of points to this spline " ) ;
2010-04-06 01:28:39 +00:00
RNA_def_function_flag ( func , FUNC_USE_SELF_ID | FUNC_USE_REPORTS ) ;
2011-01-18 11:27:52 +00:00
RNA_def_int ( func , " count " , 1 , INT_MIN , INT_MAX , " Number " , " Number of points to add to the spline " , 0 , INT_MAX ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-04-22 11:54:53 +00:00
#if 0
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
func = RNA_def_function ( srna , " remove " , " rna_Curve_spline_remove " ) ;
2011-09-19 13:23:58 +00:00
RNA_def_function_ui_description ( func , " Remove a spline from a curve " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_function_flag ( func , FUNC_USE_REPORTS ) ;
2011-09-19 13:23:58 +00:00
parm = RNA_def_pointer ( func , " spline " , " Spline " , " " , " The spline to remove " ) ;
2010-08-24 06:40:28 +00:00
RNA_def_property_flag ( parm , PROP_REQUIRED | PROP_NEVER_NULL ) ;
2012-04-22 11:54:53 +00:00
# endif
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
}
/* curve.splines */
static void rna_def_curve_splines ( BlenderRNA * brna , PropertyRNA * cprop )
{
StructRNA * srna ;
PropertyRNA * prop ;
FunctionRNA * func ;
PropertyRNA * parm ;
RNA_def_property_srna ( cprop , " CurveSplines " ) ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " CurveSplines " , NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_struct_sdna ( srna , " Curve " ) ;
RNA_def_struct_ui_text ( srna , " Curve Splines " , " Collection of curve splines " ) ;
2012-03-05 23:30:41 +00:00
func = RNA_def_function ( srna , " new " , " rna_Curve_spline_new " ) ;
2011-09-19 13:23:58 +00:00
RNA_def_function_ui_description ( func , " Add a new spline to the curve " ) ;
2012-03-05 23:30:41 +00:00
parm = RNA_def_enum ( func , " type " , curve_type_items , CU_POLY , " " , " type for the new spline " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_flag ( parm , PROP_REQUIRED ) ;
2012-03-05 23:30:41 +00:00
parm = RNA_def_pointer ( func , " spline " , " Spline " , " " , " The newly created spline " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_function_return ( func , parm ) ;
2012-03-05 23:30:41 +00:00
func = RNA_def_function ( srna , " remove " , " rna_Curve_spline_remove " ) ;
2011-09-19 13:23:58 +00:00
RNA_def_function_ui_description ( func , " Remove a spline from a curve " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_function_flag ( func , FUNC_USE_REPORTS ) ;
2012-03-05 23:30:41 +00:00
parm = RNA_def_pointer ( func , " spline " , " Spline " , " " , " The spline to remove " ) ;
2010-08-24 06:40:28 +00:00
RNA_def_property_flag ( parm , PROP_REQUIRED | PROP_NEVER_NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
2012-03-05 23:30:41 +00:00
func = RNA_def_function ( srna , " clear " , " rna_Curve_spline_clear " ) ;
2011-11-23 16:12:11 +00:00
RNA_def_function_ui_description ( func , " Remove all spline from a curve " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " active " , PROP_POINTER , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_struct_type ( prop , " Object " ) ;
2010-08-03 05:14:59 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_Curve_active_spline_get " , " rna_Curve_active_spline_set " , NULL , NULL ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
RNA_def_property_ui_text ( prop , " Active Spline " , " Active curve spline " ) ;
/* Could call: ED_base_object_activate(C, scene->basact);
* but would be a bad level call and it seems the notifier is enough */
RNA_def_property_update ( prop , NC_SCENE | ND_OB_ACTIVE , NULL ) ;
}
2009-06-07 13:09:18 +00:00
static void rna_def_curve ( BlenderRNA * brna )
2009-01-10 22:57:33 +00:00
{
StructRNA * srna ;
PropertyRNA * prop ;
2009-09-11 15:35:30 +00:00
static EnumPropertyItem curve_twist_mode_items [ ] = {
{ CU_TWIST_Z_UP , " Z_UP " , 0 , " Z-Up " , " Use Z-Up axis to calculate the curve twist at each point " } ,
{ CU_TWIST_MINIMUM , " MINIMUM " , 0 , " Minimum " , " Use the least twist over the entire curve " } ,
{ CU_TWIST_TANGENT , " TANGENT " , 0 , " Tangent " , " Use the tangent to calculate twist " } ,
{ 0 , NULL , 0 , NULL , NULL } } ;
2012-03-05 23:30:41 +00:00
static const EnumPropertyItem curve_axis_items [ ] = {
2011-11-26 12:30:01 +00:00
{ 0 , " 2D " , 0 , " 2D " , " Clamp the Z axis of the curve " } ,
2012-03-18 09:27:36 +00:00
{ CU_3D , " 3D " , 0 , " 3D " ,
" Allow editing on the Z axis of this curve, also allows tilt and curve radius to be used " } ,
2009-09-13 17:38:43 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " Curve " , " ID " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_struct_ui_text ( srna , " Curve " , " Curve datablock storing curves, splines and NURBS " ) ;
2009-06-03 23:16:51 +00:00
RNA_def_struct_ui_icon ( srna , ICON_CURVE_DATA ) ;
2009-06-07 13:09:18 +00:00
RNA_def_struct_refine_func ( srna , " rna_Curve_refine " ) ;
2009-01-10 22:57:33 +00:00
2009-02-02 11:51:10 +00:00
rna_def_animdata_common ( srna ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " shape_keys " , PROP_POINTER , PROP_NONE ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " key " ) ;
RNA_def_property_ui_text ( prop , " Shape Keys " , " " ) ;
2009-03-28 10:52:51 +00:00
2010-11-20 17:28:05 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " splines " , PROP_COLLECTION , PROP_NONE ) ;
2010-11-20 17:28:05 +00:00
#if 0
2009-03-28 10:52:51 +00:00
RNA_def_property_collection_sdna ( prop , NULL , " nurb " , NULL ) ;
2010-11-20 17:28:05 +00:00
# else
/* this way we get editmode nurbs too, keyframe in editmode */
2012-03-18 09:27:36 +00:00
RNA_def_property_collection_funcs ( prop , " rna_Curve_splines_begin " , " rna_iterator_listbase_next " ,
" rna_iterator_listbase_end " , " rna_iterator_listbase_get " ,
NULL , NULL , NULL , NULL ) ;
2010-11-20 17:28:05 +00:00
# endif
2010-02-10 08:53:08 +00:00
RNA_def_property_struct_type ( prop , " Spline " ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Splines " , " Collection of splines in this curve data object " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
rna_def_curve_splines ( brna , prop ) ;
2009-09-08 07:35:07 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " show_handles " , PROP_BOOLEAN , PROP_NONE ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_boolean_negative_sdna ( prop , NULL , " drawflag " , CU_HIDE_HANDLES ) ;
2011-04-11 01:18:25 +00:00
RNA_def_property_ui_text ( prop , " Draw Handles " , " Display Bezier handles in editmode " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , NC_GEOM | ND_DATA , NULL ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " show_normal_face " , PROP_BOOLEAN , PROP_NONE ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_boolean_negative_sdna ( prop , NULL , " drawflag " , CU_HIDE_NORMALS ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Draw Normals " , " Display 3D curve normals in editmode " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , NC_GEOM | ND_DATA , NULL ) ;
2009-03-28 10:52:51 +00:00
2009-01-10 22:57:33 +00:00
rna_def_path ( brna , srna ) ;
/* Number values */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " bevel_resolution " , PROP_INT , PROP_NONE ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_int_sdna ( prop , NULL , " bevresol " ) ;
RNA_def_property_range ( prop , 0 , 32 ) ;
2009-05-21 07:40:43 +00:00
RNA_def_property_ui_range ( prop , 0 , 32 , 1.0 , 0 ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Bevel Resolution " ,
" Bevel resolution when depth is non-zero and no specific bevel object has been defined " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " offset " , PROP_FLOAT , PROP_NONE | PROP_UNIT_LENGTH ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_float_sdna ( prop , NULL , " width " ) ;
2010-09-02 07:00:34 +00:00
RNA_def_property_ui_range ( prop , - 1.0 , 1.0 , 0.1 , 3 ) ;
RNA_def_property_float_funcs ( prop , " rna_Curve_offset_get " , " rna_Curve_offset_set " , NULL ) ;
RNA_def_property_ui_text ( prop , " Offset " , " Offset the curve to adjust the width of a text " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " extrude " , PROP_FLOAT , PROP_NONE | PROP_UNIT_LENGTH ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_float_sdna ( prop , NULL , " ext1 " ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 100.0 , 0.1 , 3 ) ;
2010-01-22 01:30:06 +00:00
RNA_def_property_range ( prop , 0.0 , FLT_MAX ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Extrude " , " Amount of curve extrusion when not using a bevel object " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " bevel_depth " , PROP_FLOAT , PROP_NONE | PROP_UNIT_LENGTH ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_float_sdna ( prop , NULL , " ext2 " ) ;
2010-08-22 16:44:48 +00:00
RNA_def_property_ui_range ( prop , 0 , 100.0 , 0.1 , 3 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Bevel Depth " , " Bevel depth when not using a bevel object " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " resolution_u " , PROP_INT , PROP_NONE ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_int_sdna ( prop , NULL , " resolu " ) ;
2010-11-21 03:45:35 +00:00
RNA_def_property_range ( prop , 1 , SHRT_MAX ) ;
2010-02-23 19:59:07 +00:00
RNA_def_property_ui_range ( prop , 1 , 64 , 1 , 0 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Resolution U " , " Surface resolution in U direction " ) ;
2009-12-04 01:38:36 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_resolution_u_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " resolution_v " , PROP_INT , PROP_NONE ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_int_sdna ( prop , NULL , " resolv " ) ;
2010-02-23 19:59:07 +00:00
RNA_def_property_ui_range ( prop , 1 , 64 , 1 , 0 ) ;
2010-11-21 03:45:35 +00:00
RNA_def_property_range ( prop , 1 , SHRT_MAX ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Resolution V " , " Surface resolution in V direction " ) ;
2009-12-04 01:38:36 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_resolution_v_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " render_resolution_u " , PROP_INT , PROP_NONE ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_int_sdna ( prop , NULL , " resolu_ren " ) ;
2010-11-21 03:45:35 +00:00
RNA_def_property_range ( prop , 0 , SHRT_MAX ) ;
2010-03-25 18:59:50 +00:00
RNA_def_property_ui_range ( prop , 0 , 64 , 1 , 0 ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Render Resolution U " ,
" Surface resolution in U direction used while rendering (zero skips this property) " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " render_resolution_v " , PROP_INT , PROP_NONE ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_int_sdna ( prop , NULL , " resolv_ren " ) ;
2010-03-25 18:59:50 +00:00
RNA_def_property_ui_range ( prop , 0 , 64 , 1 , 0 ) ;
2010-11-21 03:45:35 +00:00
RNA_def_property_range ( prop , 0 , SHRT_MAX ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Render Resolution V " ,
" Surface resolution in V direction used while rendering (zero skips this property) " ) ;
2009-01-10 22:57:33 +00:00
2009-06-20 11:44:56 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " eval_time " , PROP_FLOAT , PROP_NONE ) ;
2009-06-20 11:44:56 +00:00
RNA_def_property_float_sdna ( prop , NULL , " ctime " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Evaluation Time " ,
" Parametric position along the length of the curve that Objects 'following' it should be "
" at (position is evaluated by dividing by the 'Path Length' value) " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-06-20 11:44:56 +00:00
2009-01-10 22:57:33 +00:00
/* pointers */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " bevel_object " , PROP_POINTER , PROP_NONE ) ;
2010-04-01 08:49:11 +00:00
RNA_def_property_struct_type ( prop , " Object " ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " bevobj " ) ;
2009-05-28 23:23:47 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Bevel Object " , " Curve object name that defines the bevel shape " ) ;
2010-04-01 08:49:11 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_deps " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_Curve_bevelObject_get " , " rna_Curve_bevelObject_set " , NULL ,
" rna_Curve_otherObject_poll " ) ;
2010-04-01 08:49:11 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " taper_object " , PROP_POINTER , PROP_NONE ) ;
2010-04-01 08:49:11 +00:00
RNA_def_property_struct_type ( prop , " Object " ) ;
2009-01-10 22:57:33 +00:00
RNA_def_property_pointer_sdna ( prop , NULL , " taperobj " ) ;
2009-05-28 23:23:47 +00:00
RNA_def_property_flag ( prop , PROP_EDITABLE ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Taper Object " , " Curve object name that defines the taper (width) " ) ;
2010-04-01 08:49:11 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_deps " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_pointer_funcs ( prop , " rna_Curve_taperObject_get " , " rna_Curve_taperObject_set " , NULL ,
" rna_Curve_otherObject_poll " ) ;
2010-04-01 08:49:11 +00:00
2009-01-10 22:57:33 +00:00
/* Flags */
2009-09-13 17:38:43 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " dimensions " , PROP_ENUM , PROP_NONE ) ; /* as an enum */
2009-09-13 17:38:43 +00:00
RNA_def_property_enum_bitflag_sdna ( prop , NULL , " flag " ) ;
RNA_def_property_enum_items ( prop , curve_axis_items ) ;
RNA_def_property_enum_funcs ( prop , NULL , " rna_Curve_dimension_set " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Dimensions " , " Select 2D or 3D curve type " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-01-10 22:57:33 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " fill_mode " , PROP_ENUM , PROP_NONE ) ;
2011-09-19 09:47:58 +00:00
RNA_def_property_enum_bitflag_sdna ( prop , NULL , " flag " ) ;
RNA_def_property_enum_items ( prop , curve3d_fill_mode_items ) ;
RNA_def_property_enum_funcs ( prop , NULL , NULL , " rna_Curve_fill_mode_itemf " ) ;
RNA_def_property_ui_text ( prop , " Fill Mode " , " Mode of filling curve " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-09-11 15:35:30 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " twist_mode " , PROP_ENUM , PROP_NONE ) ;
2009-09-11 15:35:30 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " twist_mode " ) ;
RNA_def_property_enum_items ( prop , curve_twist_mode_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Twist Method " , " The type of tilt calculation for 3D Curves " ) ;
2009-09-11 15:35:30 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
/* XXX - would be nice to have a better way to do this, only add for testing. */
prop = RNA_def_property ( srna , " twist_smooth " , PROP_FLOAT , PROP_NONE ) ;
2009-09-11 15:35:30 +00:00
RNA_def_property_float_sdna ( prop , NULL , " twist_smooth " ) ;
2011-04-17 12:13:02 +00:00
RNA_def_property_ui_range ( prop , 0 , 100.0 , 1 , 2 ) ;
2009-09-11 15:35:30 +00:00
RNA_def_property_ui_text ( prop , " Twist Smooth " , " Smoothing iteration for tangents " ) ;
2009-09-07 15:02:43 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_fill_deform " , PROP_BOOLEAN , PROP_NONE ) ;
2010-03-16 21:09:53 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_DEFORM_FILL ) ;
2012-02-02 15:15:52 +00:00
RNA_def_property_ui_text ( prop , " Fill Deformed " , " Fill curve after applying shape keys and all modifiers " ) ;
2010-03-16 21:09:53 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-02-02 15:15:52 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_fill_caps " , PROP_BOOLEAN , PROP_NONE ) ;
2012-02-02 15:15:52 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_FILL_CAPS ) ;
RNA_def_property_ui_text ( prop , " Fill Caps " , " Fill caps for bevelled curves " ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-04-12 05:04:49 +00:00
/* texture space */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_auto_texspace " , PROP_BOOLEAN , PROP_NONE ) ;
2010-04-12 05:04:49 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " texflag " , CU_AUTOSPACE ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Auto Texture Space " ,
" Adjust active object's texture space automatically when transforming object " ) ;
2011-01-06 11:16:35 +00:00
RNA_def_property_update ( prop , NC_OBJECT | ND_DRAW , " rna_Curve_texspace_set " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " texspace_location " , PROP_FLOAT , PROP_TRANSLATION ) ;
2010-04-12 05:04:49 +00:00
RNA_def_property_array ( prop , 3 ) ;
2010-05-04 05:15:53 +00:00
RNA_def_property_ui_text ( prop , " Texture Space Location " , " Texture space location " ) ;
2012-04-10 08:33:30 +00:00
RNA_def_property_ui_range ( prop , - FLT_MAX , FLT_MAX , 1 , RNA_TRANSLATION_PREC_DEFAULT ) ;
2010-04-12 05:04:49 +00:00
RNA_def_property_editable_func ( prop , " rna_Curve_texspace_editable " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_float_funcs ( prop , " rna_Curve_texspace_loc_get " , " rna_Curve_texspace_loc_set " , NULL ) ;
2010-04-12 05:04:49 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " texspace_size " , PROP_FLOAT , PROP_XYZ ) ;
2010-04-12 05:04:49 +00:00
RNA_def_property_array ( prop , 3 ) ;
RNA_def_property_ui_text ( prop , " Texture Space Size " , " Texture space size " ) ;
RNA_def_property_editable_func ( prop , " rna_Curve_texspace_editable " ) ;
RNA_def_property_float_funcs ( prop , " rna_Curve_texspace_size_get " , " rna_Curve_texspace_size_set " , NULL ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-04-22 11:54:53 +00:00
/* not supported yet */
#if 0
2011-11-11 13:09:14 +00:00
prop = RNA_def_property ( srna , " texspace_rot " , PROP_FLOAT , PROP_EULER ) ;
RNA_def_property_float ( prop , NULL , " rot " ) ;
RNA_def_property_ui_text ( prop , " Texture Space Rotation " , " Texture space rotation " ) ;
RNA_def_property_editable_func ( prop , texspace_editable ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2012-04-22 11:54:53 +00:00
# endif
2010-04-12 05:04:49 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_uv_as_generated " , PROP_BOOLEAN , PROP_NONE ) ;
2010-06-14 07:43:45 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_UV_ORCO ) ;
2010-11-16 12:10:57 +00:00
RNA_def_property_ui_text ( prop , " Use UV for mapping " , " Uses the UV values as Generated textured coordinates " ) ;
2010-06-14 07:43:45 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-04-12 05:04:49 +00:00
/* materials */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " materials " , PROP_COLLECTION , PROP_NONE ) ;
2010-04-12 05:04:49 +00:00
RNA_def_property_collection_sdna ( prop , NULL , " mat " , " totcol " ) ;
RNA_def_property_struct_type ( prop , " Material " ) ;
RNA_def_property_ui_text ( prop , " Materials " , " " ) ;
2011-10-01 17:54:33 +00:00
RNA_def_property_srna ( prop , " IDMaterials " ) ; /* see rna_ID.c */
RNA_def_property_collection_funcs ( prop , 0 , NULL , NULL , NULL , NULL , NULL , NULL , " rna_IDMaterials_assign_int " ) ;
2012-05-04 17:04:20 +00:00
prop = RNA_def_property ( srna , " bevel_factor_start " , PROP_FLOAT , PROP_FACTOR ) ;
RNA_def_property_float_sdna ( prop , NULL , " bevfac1 " ) ;
RNA_def_property_range ( prop , 0 , 1.0 ) ;
RNA_def_property_ui_text ( prop , " Start Bevel Factor " , " Factor that defines from where beveling of spline happens (0=from the very beginning, 1=from the very end) " ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
prop = RNA_def_property ( srna , " bevel_factor_end " , PROP_FLOAT , PROP_FACTOR ) ;
RNA_def_property_float_sdna ( prop , NULL , " bevfac2 " ) ;
RNA_def_property_range ( prop , 0 , 1.0 ) ;
RNA_def_property_ui_text ( prop , " End Bevel Factor " , " Factor that defines to where beveling of spline happens (0=to the very beginning, 1=to the very end) " ) ;
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-01-10 22:57:33 +00:00
}
2009-06-07 13:09:18 +00:00
static void rna_def_curve_nurb ( BlenderRNA * brna )
2009-03-28 10:52:51 +00:00
{
static EnumPropertyItem spline_interpolation_items [ ] = {
2010-08-12 06:28:46 +00:00
{ KEY_LINEAR , " LINEAR " , 0 , " Linear " , " " } ,
{ KEY_CARDINAL , " CARDINAL " , 0 , " Cardinal " , " " } ,
{ KEY_BSPLINE , " BSPLINE " , 0 , " BSpline " , " " } ,
{ KEY_CU_EASE , " EASE " , 0 , " Ease " , " " } , /* todo, define somewhere, not one of BEZT_IPO_* */
2009-06-16 00:52:21 +00:00
{ 0 , NULL , 0 , NULL , NULL } } ;
2009-03-28 10:52:51 +00:00
StructRNA * srna ;
PropertyRNA * prop ;
2012-03-05 23:30:41 +00:00
srna = RNA_def_struct ( brna , " Spline " , NULL ) ;
2010-03-22 09:30:00 +00:00
RNA_def_struct_sdna ( srna , " Nurb " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_struct_ui_text ( srna , " Spline " ,
" Element of a curve, either NURBS, Bezier or Polyline or a character with text objects " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " points " , PROP_COLLECTION , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_collection_sdna ( prop , NULL , " bp " , NULL ) ;
2009-11-29 16:42:51 +00:00
RNA_def_property_struct_type ( prop , " SplinePoint " ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_collection_funcs ( prop , " rna_BPoint_array_begin " , " rna_iterator_array_next " ,
" rna_iterator_array_end " , " rna_iterator_array_get " , " rna_Nurb_length " ,
NULL , NULL , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Points " , " Collection of points that make up this poly or nurbs spline " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
rna_def_curve_spline_points ( brna , prop ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " bezier_points " , PROP_COLLECTION , PROP_NONE ) ;
2009-11-29 16:42:51 +00:00
RNA_def_property_struct_type ( prop , " BezierSplinePoint " ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_collection_sdna ( prop , NULL , " bezt " , " pntsu " ) ;
2011-04-11 01:18:25 +00:00
RNA_def_property_ui_text ( prop , " Bezier Points " , " Collection of points for Bezier curves only " ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
rna_def_curve_spline_bezpoints ( brna , prop ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " tilt_interpolation " , PROP_ENUM , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " tilt_interp " ) ;
RNA_def_property_enum_items ( prop , spline_interpolation_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Tilt Interpolation " , " The type of tilt interpolation for 3D, Bezier curves " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " radius_interpolation " , PROP_ENUM , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_enum_sdna ( prop , NULL , " radius_interp " ) ;
RNA_def_property_enum_items ( prop , spline_interpolation_items ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Radius Interpolation " , " The type of radius interpolation for Bezier curves " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " type " , PROP_ENUM , PROP_NONE ) ;
2009-09-07 15:02:43 +00:00
RNA_def_property_enum_items ( prop , curve_type_items ) ;
2009-09-08 00:23:33 +00:00
RNA_def_property_enum_funcs ( prop , NULL , " rna_Nurb_type_set " , NULL ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Type " , " The interpolation type for this curve element " ) ;
2009-09-07 15:02:43 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " point_count_u " , PROP_INT , PROP_UNSIGNED ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ; /* editing this needs knot recalc*/
RNA_def_property_int_sdna ( prop , NULL , " pntsu " ) ;
RNA_def_property_ui_text ( prop , " Points U " , " Total number points for the curve or surface in the U direction " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " point_count_v " , PROP_INT , PROP_UNSIGNED ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ; /* editing this needs knot recalc*/
RNA_def_property_int_sdna ( prop , NULL , " pntsv " ) ;
RNA_def_property_ui_text ( prop , " Points V " , " Total number points for the surface on the V direction " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " order_u " , PROP_INT , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_int_sdna ( prop , NULL , " orderu " ) ;
RNA_def_property_range ( prop , 2 , 6 ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Order U " ,
" NURBS order in the U direction (for splines and surfaces, higher values "
" let points influence a greater area) " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_knot_u " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " order_v " , PROP_INT , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_int_sdna ( prop , NULL , " orderv " ) ;
RNA_def_property_range ( prop , 2 , 6 ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Order V " ,
" NURBS order in the V direction (for surfaces only, higher values "
" let points influence a greater area) " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_knot_v " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " resolution_u " , PROP_INT , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_int_sdna ( prop , NULL , " resolu " ) ;
2010-11-21 09:06:27 +00:00
RNA_def_property_range ( prop , 1 , SHRT_MAX ) ;
2010-02-23 19:59:07 +00:00
RNA_def_property_ui_range ( prop , 1 , 64 , 1 , 0 ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_ui_text ( prop , " Resolution U " , " Curve or Surface subdivisions per segment " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " resolution_v " , PROP_INT , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_int_sdna ( prop , NULL , " resolv " ) ;
2010-11-21 09:06:27 +00:00
RNA_def_property_range ( prop , 1 , SHRT_MAX ) ;
2010-02-23 19:59:07 +00:00
RNA_def_property_ui_range ( prop , 1 , 64 , 1 , 0 ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_ui_text ( prop , " Resolution V " , " Surface subdivisions per segment " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_cyclic_u " , PROP_BOOLEAN , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flagu " , CU_NURB_CYCLIC ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Cyclic U " , " Make this curve or surface a closed loop in the U direction " ) ;
2010-10-04 10:06:18 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_cyclic_u " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_cyclic_v " , PROP_BOOLEAN , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flagv " , CU_NURB_CYCLIC ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Cyclic V " , " Make this surface a closed loop in the V direction " ) ;
2010-10-05 07:22:44 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_cyclic_v " ) ;
2009-03-28 10:52:51 +00:00
/* Note, endpoint and bezier flags should never be on at the same time! */
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_endpoint_u " , PROP_BOOLEAN , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flagu " , CU_NURB_ENDPOINT ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Endpoint U " ,
" Make this nurbs curve or surface meet the endpoints in the U direction "
" (Cyclic U must be disabled) " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_knot_u " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_endpoint_v " , PROP_BOOLEAN , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flagv " , CU_NURB_ENDPOINT ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Endpoint V " ,
" Make this nurbs surface meet the endpoints in the V direction "
" (Cyclic V must be disabled) " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_knot_v " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_bezier_u " , PROP_BOOLEAN , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flagu " , CU_NURB_BEZIER ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Bezier U " ,
" Make this nurbs curve or surface act like a Bezier spline in the U direction "
" (Order U must be 3 or 4, Cyclic U must be disabled) " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_knot_u " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_bezier_v " , PROP_BOOLEAN , PROP_NONE ) ;
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flagv " , CU_NURB_BEZIER ) ;
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Bezier V " ,
" Make this nurbs surface act like a Bezier spline in the V direction "
" (Order V must be 3 or 4, Cyclic V must be disabled) " ) ;
2009-09-08 07:35:07 +00:00
RNA_def_property_update ( prop , 0 , " rna_Nurb_update_knot_v " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " use_smooth " , PROP_BOOLEAN , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " flag " , CU_SMOOTH ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Smooth " , " Smooth the normals of the surface or beveled curve " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " hide " , PROP_BOOLEAN , PROP_NONE ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_boolean_sdna ( prop , NULL , " hide " , 1 ) ;
2010-02-10 21:15:44 +00:00
RNA_def_property_ui_text ( prop , " Hide " , " Hide this curve in editmode " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " material_index " , PROP_INT , PROP_UNSIGNED ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_int_sdna ( prop , NULL , " mat_nr " ) ;
RNA_def_property_ui_text ( prop , " Material Index " , " " ) ;
RNA_def_property_int_funcs ( prop , NULL , NULL , " rna_Curve_material_index_range " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2009-03-28 10:52:51 +00:00
2012-03-05 23:30:41 +00:00
prop = RNA_def_property ( srna , " character_index " , PROP_INT , PROP_UNSIGNED ) ;
2009-03-28 10:52:51 +00:00
RNA_def_property_int_sdna ( prop , NULL , " charidx " ) ;
RNA_def_property_clear_flag ( prop , PROP_EDITABLE ) ; /* editing this needs knot recalc*/
2012-03-18 09:27:36 +00:00
RNA_def_property_ui_text ( prop , " Character Index " ,
" Location of this character in the text data (only for text curves) " ) ;
2009-08-10 21:10:09 +00:00
RNA_def_property_update ( prop , 0 , " rna_Curve_update_data " ) ;
2010-11-17 03:15:08 +00:00
RNA_def_struct_path_func ( srna , " rna_Curve_spline_path " ) ;
2009-03-28 10:52:51 +00:00
}
2008-12-01 19:02:27 +00:00
void RNA_def_curve ( BlenderRNA * brna )
{
rna_def_curve ( brna ) ;
2009-06-07 13:09:18 +00:00
rna_def_surface ( brna ) ;
rna_def_text ( brna ) ;
2008-12-01 19:02:27 +00:00
rna_def_textbox ( brna ) ;
rna_def_charinfo ( brna ) ;
2009-02-02 11:51:10 +00:00
rna_def_bpoint ( brna ) ;
rna_def_beztriple ( brna ) ;
2009-03-28 10:52:51 +00:00
rna_def_curve_nurb ( brna ) ;
2008-12-01 19:02:27 +00:00
}
# endif