Commit Graph

288 Commits

Author SHA1 Message Date
02da5ecfed Apply first pass of edits to rna values from rna_booleans.txt.
These are not animated and are best not change names like this too late in the release.

ActionGroup.selected -> select:    boolean    Action Group is selected
BezierSplinePoint.hidden -> hide:    boolean    Visibility status
BezierSplinePoint.selected_control_point -> select_control_point:    boolean    Control point selection status
BezierSplinePoint.selected_handle1 -> select_left_handle:    boolean    Handle 1 selection status
BezierSplinePoint.selected_handle2 -> select_right_handle:    boolean    Handle 2 selection status
Bone.restrict_select -> hide_select:    boolean    Bone is able to be selected
Bone.selected -> select:    boolean
CurveMapPoint.selected -> select:    boolean    Selection state of the curve point
EditBone.restrict_select -> hide_select:    boolean    Bone is able to be selected
EditBone.selected -> select:    boolean
EditBone.selected_head -> select_head:    boolean
EditBone.selected_tail -> select_tail:    boolean
EditBone.locked -> lock:    boolean    Bone is not able to be transformed when in Edit Mode
EditBone.hidden -> hide:    boolean    Bone is not visible when in Edit Mode
NEGATE * FCurve.disabled -> enabled:    boolean    F-Curve could not be evaluated in past, so should be skipped when evaluating
FCurve.locked -> lock:    boolean    F-Curve's settings cannot be edited
FCurve.muted -> mute:    boolean    F-Curve is not evaluated
FCurve.selected -> select:    boolean    F-Curve is selected for editing
NEGATE * FCurve.visible -> hide:    boolean    F-Curve and its keyframes are shown in the Graph Editor graphs
FCurveSample.selected -> select:    boolean    Selection status
GPencilFrame.selected -> select:    boolean    Frame is selected for editing in the DopeSheet
GPencilLayer.locked -> lock:    boolean    Protect layer from further editing and/or frame changes
GPencilLayer.selected -> select:    boolean    Layer is selected for editing in the DopeSheet
Keyframe.selected -> select:    boolean    Control point selection status
Keyframe.selected_handle1 -> select_left_handle:    boolean    Handle 1 selection status
Keyframe.selected_handle2 -> select_right_handle:    boolean    Handle 2 selection status
MeshEdge.selected -> select:    boolean
MeshEdge.hidden -> hide:    boolean
MeshFace.hidden -> hide:    boolean
MeshFace.selected -> select:    boolean
MeshVertex.hidden -> hide:    boolean
MeshVertex.selected -> select:    boolean
MotionPathVert.selected -> select:    boolean    Path point is selected for editing
NlaStrip.selected -> select:    boolean    NLA Strip is selected
NlaTrack.locked -> lock:    boolean    NLA Track is locked
NlaTrack.muted -> mute:    boolean    NLA Track is not evaluated
NlaTrack.selected -> select:    boolean    NLA Track is selected
Object.restrict_render -> hide_render:    boolean    Restrict renderability
Object.restrict_select -> hide_select:    boolean    Restrict selection in the viewport
Object.restrict_view -> hide:    boolean    Restrict visibility in the viewport
Object.selected -> select:    boolean    Object selection state
ObjectBase.selected -> select:    boolean    Object base selection state
PoseBone.selected -> select:    boolean
Sequence.right_handle_selected -> select_right_handle:    boolean
Sequence.selected -> select:    boolean
SplinePoint.selected -> select_control_point:    boolean    Selection status
TimelineMarker.selected -> select:    boolean    Marker selection state
Sequence.left_handle_selected -> select_left_handle:    boolean
ActionGroup.locked -> lock:    boolean    Action Group is locked
Bone.hidden -> hide:    boolean    Bone is not visible when it is not in Edit Mode (i.e. in Object or Pose Modes)
SplinePoint.hidden -> hide:    boolean    Visibility status
FModifier.muted -> mute:    boolean    F-Curve Modifier will not be evaluated

 note: rebaned uv_select to select_uv
2010-07-15 16:56:04 +00:00
3580d6229a - text3d was missing menu items for toggling bold/underline/italic/smallcaps.
- made smallcaps use a temp flag so caps can still have the smallcaps flag.
- utility function for getting the char from a font. find_vfont_char(), was inline in ~5 places.
- removed CU_STYLE mix of flags only used in one place, not needed. removed 'style' from rna too.
- fix for some warnings.
2010-07-13 23:51:21 +00:00
03e638d128 - make duplis real wasnt redrawing
- small caps option for titles (doing manually is quite painful to watch).
2010-07-13 22:21:59 +00:00
faf1c9a4bb Bugfix #22685: Screen update slow, animation player ALT-A, files created with 2.4x
Modifiers were being mistakenly recalculated at every frame as long as the object had animation, slowing things down due to incorrect depsgraph recalc tags.

Renamed OB_RECALC -> OB_RECALC_ALL to reduce future confusion. During this process, I noticed a few dubious usages of OB_RECALC, so it's best to use this commit as a guide of places to check on. Apart from the place responsible for this bug, I haven't changed any OB_RECALC -> OB_RECALC_OB/DATA in case that introduces more unforseen bugs now, making it more difficult to track the problems later (rename + value change can be confusing to identify the genuine typos).
2010-07-05 03:55:28 +00:00
69a7807790 restored old 'uv orco' for curves, renamed to 'map along length' 2010-06-14 07:43:45 +00:00
8480b21d4a bugfix [#22569] Bezier splines.points segfault 2010-06-10 22:11:41 +00:00
9d62acea67 some rna numbers were signed when they shouldnt be (simplify could have its subdivisions set negative) 2010-05-20 08:51:03 +00:00
96beb8330c Great patch by Harley Acheson fixing about 80 typos and spelling
mistakes in makesrna
2010-05-04 05:15:53 +00:00
3042f9be8e Fix [#21953] Texture space size seems not updated constantly 2010-04-12 05:04:49 +00:00
9498121463 Object API changes so these functions now require a scene as first argument:
create_mesh, create_dupli_list, make_display_list and is_visible.

This is done in order to make these context independent as the RNA API should
be as much as possible, and to fix #21297 and #21719, where there was an
assumption from these functions that there is a scene in the context, which
does not work for external render engines exporting in a separate thread.

Also avoided using context in a number of other functions, ideally only UI/WM
type functions should use context.

I've updated the scripts in trunk, but the addons and external ones in
development will need updates too.
2010-04-06 01:28:39 +00:00
4702e37353 commit 27896 : merge render branch into trunk reverted changes in rna_curve.c 2010-04-01 08:49:11 +00:00
2910d75f2c svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27875:27895 2010-03-31 07:22:18 +00:00
cc29dcec69 taper/bevel object checking moved from RNA update to RNA pointer set function. 2010-03-31 07:02:24 +00:00
0d19b4167c - Call DAG_id_flush_update for each object in convert operator if keep_original
option is switched off. This fixes trouble when user converts curve which is
  set as taper/bevel object to mesh (scene kept unchanged until object
  recalculation).
- Moved checking of taper/bevel objects type to RNA property update handlers.
- Added resetting taper/bevel object in do_makeDispListCurveTypes it this
  objects aren't curves.
2010-03-30 18:10:05 +00:00
d0f8d9f38c Fixed segmentation fault when non-curve object is setting as a taper
Deny user to select non-curve objects for taper and bevel lists, also
added some checking into displist and curve modules - object could be
converted from curve to mesh (would be better to unset bevel/taper
object in this case -- will try to implement a bit later).
2010-03-30 14:33:05 +00:00
aa3428e6ab Fix #21764: bezier curve render resolution slider min value 1
Render resolution set to 0 is correct in both of U and V cases
(if render resolution is set to 0 values from resolution_* will
be used while rendering)
2010-03-25 18:59:50 +00:00
26736ac0f0 remove unused rna includes 2010-03-24 09:51:32 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
391cc2d004 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
14e29a62dc "Fill deformed" option for 2D curves
Add new option named "Fill deformed". If this option is switched on.
2D curve will be first deformed by modifiers and only then be filled
with faces.
2010-03-16 21:09:53 +00:00
2f4765034a set the max soft resolution of nurbs surfaces to 64 rather then 1024 2010-02-23 19:59:07 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
78faeb73b8 Operation Dot-Kill finished 2010-02-11 01:11:52 +00:00
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
eabb8e2942 rename Nurb to Spline in RNA since Nurb also stores bezier and poly lines. 2010-02-10 08:53:08 +00:00
4520bc6edd Tooltips tweaks 3d to 3D 2010-02-09 17:50:56 +00:00
742ef3b4cc Bugfix #20935: Evaluation Time For Curves No Longer Accepts Input Over 1.0
Reverting the part of an earlier commit to show the Evaluation time in the Path panel that made the Evaluation Time setting a factor. This setting should not be a factor, since it gets divided by 'Path Length' to normalise it to the 0-1 range needed. When this setting isn't animated, the evaluation time setting is automatically set to the current frame number, so that when divided by Path Length, child objects still follow the curve.
2010-02-03 06:30:16 +00:00
c8e8057ada Bugfix #19970: auto-clamped / auto working strangly in f-curve editor
Fixed the operators for DopeSheet/Graph Editors responsible for setting the "auto-clamped". This option is actually per F-Curve instead of per handle, and the code here should function like it did in 2.4x

However, despite this, it still appears to work oddly IMO. Any comments Bassam or animators familiar with the intentions of this?
2010-02-01 11:45:24 +00:00
ba28cfcf2a Added 'Evaluation Time' setting access to Path Animation panel.
This was previously only available from the datablocks viewer, but this is the direct replacement to the badly named 'speed' ipo-curve in the past ('speed' implies a rate that must be integrated/added to the results of past frame, rather than a factor).

Also, tweaked the RNA definition so that this shows as a slider (i.e. a factor), since the valid values for this are clamped to the [0, 1].
2010-01-31 23:41:38 +00:00
6d71a19e89 [#20875] Rendering resolution in curve properties panel is not default 0 and cannot be set to 0.
Previously forgot about the magic: 0 res = display res behaviour.
2010-01-29 05:48:47 +00:00
14d4feca57 Radians vs Degrees: The Second Attempt
F-Curves now internally store radians again instead of degrees. 
- This solves problems with inconsistencies when working with drivers.
- No need to version patch old files, potentially screwing them up. As such, removed the version patching for F-Curves.
- Is better suited to optionally showing radians throughout the UI instead or degrees.

As a result, values are now converted on the fly in the Graph Editor for display and operators that operate on values. I've made the conversion system for this rather general, so that other unit type conversions can also be hooked up with the type conversion backend.

Also, made some tweaks to F-Curve RNA wrapping to make it represent the data better.

TODO:
- Transform code currently still needs to be corrected to work with these changes. Currently moving keyframes for rotation curves will make them change too rapidly vertically when using degrees.
2010-01-26 03:16:14 +00:00
0c5998e799 Radians -> Degrees (in UI)
Rotations are now stored internally as radians, while exposing degrees in the UI - 
in the graph editor and UI controls. This is done in two areas:
1) Using the unit system to convert RNA data to display as degrees in the UI controls
2) FCurves now use degrees for rotation, so you can edit in the graph editor what 
you see in the UI.

All rotation data is consistently accessible in DNA and RNA as radians, degrees are only 
used for the UI controls and graph editor.

This commit includes conversions will convert old files (stored data and also fcurve data) 
to the new units, hopefully everything should go smoothly!

Part of this also changes a few properties that were hard-coded as degrees before (such 
as IK pole angle and brush texture rotation) to also use the same consistent system of 
radians (dna/rna) and degrees (ui).

Thanks to Joshua for hints and review here too.
2010-01-25 06:24:05 +00:00
68874c9aa4 Fix [#20762] Problem When Font PreviewU resolution is set to 0 2010-01-22 01:30:06 +00:00
e0dd3fe587 * Restored font selection functionality with open font and unlink font operators,
so you can change the font of 3D text objects.
2010-01-11 05:10:57 +00:00
07904712e8 RNA:
* Property update functions no longer get context, instead they get only
  Main and Scene. The RNA api was intended to be as context-less as
  possible, since it doesn't really matter who is changing the property,
  everything that uses the property should be updated.
* There's still one exception case that use it now, screen operations
  still depend on context too much. It also revealed a few places using
  context where they shouldn't.
* Ideally Scene shouldn't be passed, but much of Blender still depends on
  it, should be dropped when we try to support multiple scene editing.

Change was planned for a while, but need this now to be able to call
update without a context pointer.
2009-12-08 17:23:48 +00:00
30d752502b Fix for [#19884] Curve resolution slider not affecting anything 2009-12-04 01:38:36 +00:00
e7beae5670 Rename Centroid to Origin, following discussions on mailing list. 2009-11-30 14:40:45 +00:00
3b72584b7d - access to a nurbs points was broken - sizeof(BPoint) vs sizeof(BPoint *)
- renamed CurvePoint --> SplinePoint
- renamed point.point --> point.co (less stupid, matches vertex.co)
- access point.co was a 3D vector rather then a 4D vector with the Nurbs weight included.
- rename point.weight --> point.weight_softbody, move point.point[3] --> point.weight
- sorted RNA structs (for pedaticness only)
2009-11-29 16:42:51 +00:00
91352006c4 arbitrary property and function support for rna properties (arrays and collections), this means functions can be easily added.
eg.
 scene.objects.link()
 object.constraints.new()
 mesh.verts.transform(...)
 mesh.faces.active

PropertyRNA stores an StructRNA pointer where these can be defined.
2009-11-13 16:08:03 +00:00
9d6787c3e1 rename text3d "str" to "body", (text body), it was also using ID name setting functions which didnt work. 2009-11-12 14:40:09 +00:00
c0bfa4e462 Fix for bug #19692: setting text on curve, bevel or taper object did
not update dependency graph causing missing updates.
2009-11-05 19:32:10 +00:00
c508e6198a Python can now run operators with their own context (data context).
The aim of this is to avoid having to set the selection each time before running an operator from python.

At the moment this is set as a python dictionary with string keys and rna values... eg.

C = {}
C["active_object"] = bpy.data.objects['SomeOb']
bpy.ops.object.game_property_new(C)

# ofcourse this works too..
bpy.ops.object.game_property_new({"active_object":ob})

# or...
C = {"main":bpy.data, "scene":bpy.data.scenes[0], "active_object":bpy.data.objects['SomeOb'], "selected_editable_objects":list(bpy.data.objects)}
bpy.ops.object.location_apply(C)
2009-10-29 09:25:11 +00:00
f716f22d1f changed limits for some rna values, added object.scale_linked_x/y/z 2009-10-10 16:17:33 +00:00
cdc5fd64e5 2.5 - Keyframes can now be marked as 'extremes' in addition to 'breakdowns'
* Extremes are shown as red/pink diamonds
* I've changed the order of extremes and breakdowns in the code to make for nicer sizing/ordering. This might break a couple of files out there, but it shouldn't be too many.

TODO:
Still on my todo is to make these tags more useful (i.e. less likely to be overwritten by keyframing)
2009-09-21 12:29:53 +00:00
ba5df38d66 use static functions where possible for some local functions. 2009-09-14 16:52:06 +00:00
5c6eb9c4fa replace curve.curve_2d True/False with curve.dimensions (2D/3D) enum suggested by William. 2009-09-13 17:38:43 +00:00
f130f16fef Use curve radius for paths
- use_radius option, off by default for 2.4x files, on by default on new curves.
- curve deform modifiers (think tentacles)
- follow path (parent mode and constraint)
- curve guides
- added back Alt+S to scale point radius
- Mat3Scale and Mat4Scale arithb.c functions to make a new uniform scale matrix.

- TODO, effectors, looks like they have no way to scale from the radius yet.
2009-09-12 16:25:49 +00:00
ee768ada68 curve twist
* added new twist method - "Tangent", suggested by Martin.
  the nice thing about this is its stable no matter how you rotate the data, rotation is local to each segment.
* added smooth option that smooths the twisting (before applying user twist), to workaround Z-Up and Tangent's ugly curve twisting. Id prefer not to have this however it makes tangent much nicer. Possibly tangent can be improved some other way and this can be removed.
  A smooth value of 1.0 will iterate over and smooth the twisting by the resolution value of the spline.
* Minimum-Twist method now corrects for cyclic twist by taking the roll difference between first and last, then increasingly counter rotate each segment over the entire curve. Previously it calculated from both directions and blended them.

details
* BevPoints use quats rather then 3x3 matrix.
* added BevPoint direction "dir" and tangent "tan" used only for 3D curves.
* don't calculate BevPoint->cosa, BevPoint->sina for 3D curves.
* split bevel tilt calculation into functions.
* nurbs curves currently don't generate tangents and wont work with tangent twist method.
* some of the use of quats should be optimized.
* smoothing is not animation safe, the higher the smoothing the higher the likelyhood of flipping.
2009-09-11 15:35:30 +00:00
850abb3580 curve.textboxes collection access for the UI + minor UI tweaks for poly curves 2009-09-09 00:10:12 +00:00
ee78c63bee Text UI
*Added Text Boxes panel, currently only shows the first textbox. Needs operators for adding/removing
*Added Bold/Italic/Underline items
*Cleaned up some font UI layout.
2009-09-08 11:31:15 +00:00