Commit Graph

100 Commits

Author SHA1 Message Date
8259321a5f fix warnings 2010-10-21 22:45:54 +00:00
76a0de3a0d Changes to "evaluation time" for Curves:
After discussions with Campbell regarding #24336 and #24309, we've decided to make this property for curves to only get set when an F-Curve explicitly animates it. 

As a consequence...
- ALL OLD FILES using follow-path constraints that depended on this changed behaviour will currently need manual patching to add an appropriate F-Curve
- Ctrl-P (Parenting to Curves -> Follow Path option) will now automatically create such F-Curves mimicking the old behaviour so that creating camera-following-path setups still works smoothly.
- Directly adding a Follow Path constraint bypasses this, so you'll need to manually add such F-Curves if you need them.

The main problem with the old approach was that there were many cases in which curve data could get added but the ctime would be incorrect until a frame change (i.e. on render) flushed this.
2010-10-21 10:28:06 +00:00
1998fa59ae fix for fix [#24336] evaluation time - curve has no effect
committed r32598 to fix [#24309] Reloading file with incorrect path location.

Setting the curves ctime when updating the object data overrode the animated value.
For now just set the ctime on newly added curves with will work as the user expects in most cases.
This is weak design IMHO because the ctime value can be set to anything but is reset on changing frames even if its not keyed.

With curves created via python or linked in this can still result in a bad ctime value.
2010-10-20 13:51:37 +00:00
5999658569 Fix #24280: NURBS default "12x12" UV resolution is not actually "12x12"
When adding new nurb primitive it'll have got the same resolution as curve
2010-10-16 10:14:17 +00:00
f81248265d tag UNUSED() for operator exec() and invoke() functions. 2010-10-15 01:36:14 +00:00
8a4fe62843 misc fixes found with clang's static checker. 2010-10-07 10:04:07 +00:00
b01e6fd564 rename makeknots to nurbs_knot_calc_u/v 2010-09-30 06:51:32 +00:00
04adf3ae15 cleanup of nurb spin function, was very confusing. no functional changes. 2010-09-30 05:26:36 +00:00
36c756e754 fix for nurbs spin tool (broken since being moved to 2.5x). 2010-09-29 16:18:39 +00:00
a2f966b8ee bugfix [#24041] Adding NURBS Sphere and NURBS Donut problem 2010-09-29 15:19:16 +00:00
46f0fbcf0a Fix #23742: a NURBS surface created with two joined curves crashes Blender on rendering
Nurb's material number used to be clamped to [0;-1] for case object hasn't got
materials. Forced to keep material number on zero if object hasn't got any materials.
2010-09-10 06:05:18 +00:00
4e9162cd63 revert own commit which changed weight range, the set weight operator is for the goal weight, not the nurbs weight. 2010-09-02 10:56:50 +00:00
4ddc61643a Renaming of Cylindric objects after a good proposal by Conz:
http://www.vrchannel.de/blender/cylinder_rename.png

Mesh Tube > Mesh Cylinder
NURBS Tube > NURBS Cylinder
Metaball Cylinder > Metaball Capsule

I know that naming is something not everyone agrees on, but these terms look geometrically correct.
2010-09-01 21:11:33 +00:00
bd79d80b8a Internal Code Renaming:
Donut > Torus
2010-09-01 20:18:31 +00:00
de2e58ca49 fix for the weight range for curve set weight operator 2010-08-29 15:53:37 +00:00
c412c5d634 patch [#23316] Fix bug that doesn't show "X:" "Y:" "Z:" for vectors with length
patch [#23317] Changed some operators' RNA to accept lengths
by Lorenzo Tozzi (oni_niubbo)

with the minor change to use XYZ subtype rather then LENGTH.
2010-08-26 00:06:10 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
c0e39df6ac - Enable shape key switching in edit mode for curves, surfaces and latticies
- Disable changing of lattice size if there are shape keys
2010-08-10 06:36:42 +00:00
8c455e1da8 remove unused includes 2010-08-08 08:33:47 +00:00
44d51f3f64 Missed keyIndex data existment check when the whole nurb is deleting 2010-08-03 23:04:45 +00:00
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
cc9dbc7ac2 Curve shape keys:
- Fixed incorrect working of "from mix" insert keyblock operator property
  shapekey coordinated are applying on curve's data when creating displist,
  so curve's nurbs can't be used as unchanged data -- use basis keyblock data instead

- Fixed tilt damaging when loading editcurve -- made a typo in array indexes
2010-07-26 19:07:33 +00:00
cc0f3146e7 Shapekeys for curves/surfeces
Fix #21498: Edit curve Shape key /252_r 27318

Added full support of shape keys for curves and nurbs surfaces including
topology changing in edit mode, undo stuff, updating relative keys when
working under basis and so on.
2010-07-25 11:57:36 +00:00
1fdb880cf4 bugfix [#22990] Crash rendering joined curves
- dont render invalid material indicies (like mesh faces)
- clamp the material index values when joining, TODO: merge material lists properly.
2010-07-24 02:27:43 +00:00
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
e86c5cf9ea Fix [#22564] Object name by object type
Restored auto-naming newly created objects by type, for Mesh, Lamp, Meta
2010-06-27 07:45:57 +00:00
e10bf2bc09 Fix #22642: NURBS surfaces doesnt display
Fix #22587: Invisible Nurbs Suface

There was a small bug with determinating if new object should be created
and for surfeces new OB_CURVE object had been created (instead of OB_SURF).

Removed unused function and enum, which were used by nurbs surface
create old oprator
2010-06-22 21:11:13 +00:00
9a5e5033a2 Fix for crash on bpy.ops.curve.vertex_add/bpy.ops.curve.extrude
Removed view3d_operator_needs_opengl from addvert_Nurb, which is unneeded here
2010-06-15 09:55:54 +00:00
69cb2cc37b adding curve and mesh objects through python would create the object without assigning it to any layers.
now initialize from the scene (when the value is unset), and throw an error when the value is set to all false.
2010-06-14 15:39:50 +00:00
e7dd562095 Made Add Surface Operator more atomic, now each primitive has own operator, but calling the same function with different flags.
So they can me used in macros, and addons can use the menu  now, hope to see some very nice surface plugins
2010-06-13 05:48:21 +00:00
6b21085ed5 enable adding objects in background mode by not using the context to get the object added. 2010-06-09 19:20:05 +00:00
a1ada0f21c - remove OBJECT_OT_curve_add
- rename CURVE_OT_primitive_bezier_add --> CURVE_OT_primitive_bezier_curve_add # matches nurbs operator
- rename CURVE_OT_primitive_curve_path_add --> CURVE_OT_primitive_nurbs_path_add
- fix for warnings from 28923
2010-05-24 07:14:55 +00:00
3d417a833c 2010-05-23 02:02:04 +00:00
8d9e55122f "Every Nth number of Points" operator for curves/surfaces
This is replacement of old "Select every Nth" operator with
de-select strategy to make the same behaviour as for meshes.
2010-05-10 17:32:11 +00:00
16e7ed28be Highlight last selected point in curve/surface edit mode.
Curve->lastselbp field was renamed to Curve->lastsel and now not last
either BPoint or BezTriple is storing here. It's not easy to determine
type of selected point, but operator which depends on such point reviews
the full nurbs, so this shouldn't be a problem.

Made changes to curve undo stuff to restore last selected point on undo/redo.

Added new theme color for curve last selected point.
2010-04-30 04:48:40 +00:00
39c0e690d3 sub_v3_v3v3 --> sub_v3_v3 (where possible) 2010-04-23 23:57:00 +00:00
fba7ebcbea replace add_v3_v3v3() --> add_v3_v3() where possible 2010-04-21 12:27:48 +00:00
7119d5ba70 Fix [#21492] "Align to view" option from tools panel's operator part doesn't works.
Also changed some usage of CTX_wm_region_view3d(C) to ED_view3d_context_rv3d(C)
2010-04-16 02:14:56 +00:00
d337448090 Fixed incorrect memcpy in subdivide operator. 2010-03-24 19:14:10 +00:00
cf07f4725b Fixed bug with incorrect cyclic beizer curve subdivision. 2010-03-24 19:04:32 +00:00
fdfb46337c - Use vector interpolation functions from math_vector module in
curve subdivision operator.
- Added function interp_v4_v4v4().
2010-03-24 17:52:51 +00:00
4532b0ba2a Fixed disappearing of NURBS surface when it's created from to joined nurbs curves. 2010-03-23 22:09:33 +00:00
e6986acaa3 Added "Number of cuts" property to the bpy.ops.curve.subdivide operator. 2010-03-23 22:09:23 +00:00
6956f6c1c5 fix: Curve point was added somewhere outside the universe
- MSVC needed location initialized to zero.
2010-03-23 20:41:19 +00:00
cb6d2685bd rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 by Campbell from render25 branch)
2010-03-23 15:25:33 +00:00
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +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
4a8849b030 - Hhighlight active nurb in edit mode
- Replaced hardcoded nurbcol array with theme colors
- Send notification in duplicate curve operator (this operator could
  reset/change active nurb)
- Edge seam color added to the user preferences dialog
2010-03-12 16:43:04 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00