Commit Graph

123 Commits

Author SHA1 Message Date
0d355a8a2c replace BLI_strncpy with BLI_strncpy_utf8 where input isnt ensured to be valid.
also replace strcpy's which copy using "" with str[0]='\0'
2011-09-15 12:26:48 +00:00
db72192c22 Bye bye vile relics of extinct version control systems,
Causing a flurry of refresh file prompts post-commit,
Confusing local diffs and causing merge conflicts,
Stating the obvious; redundant and useless...

We shall not miss thou, blasted expand $keywords$
2011-08-12 07:20:49 +00:00
4532bd731d Merge with trunk up to r38584. 2011-07-21 21:11:58 +00:00
91a6e43485 Adding Child Of constraint "inverse parent matrix" to rna, so it
can be set via Python.
2011-07-13 17:20:20 +00:00
5b592f01da Constraints RNA - More Head/Tail stuff
Added for Damped Track and Locked Track constraints
2011-07-08 12:48:43 +00:00
05d6b555e8 Limit Distance contraint can now use Head/Tail setting for bone
targets too
2011-07-08 10:25:26 +00:00
cd04cff180 Merge with trunk revision 37149. 2011-06-03 23:24:01 +00:00
348f947d80 tag unused rna args. 2011-05-31 02:14:25 +00:00
9cfd093a93 Merge with trunk r36987. 2011-05-29 00:48:03 +00:00
155d589333 add the property as an argument to enum item functions, not used yet but needed for dynamic python enums. 2011-05-26 13:38:16 +00:00
10c30bda08 Bugfix: Label for "Local With Parent" constraint space was broken by
tooltips patch applied a few weeks ago in trunk
2011-05-26 12:09:21 +00:00
1788bc298c = Limit Distance Constraint - 'For Transform' Option =
The Limit Distance Constraint now has a "For Transform" option just
like all the other Limit constraints. This option controls whether the
constraint gets applied to interactive transforms in the 3D View too,
preventing controllers from getting large values without the animator
knowing.


Additional code changes:
* Split code to get constraint targets and grab their matrices for
solving out to a separate helper function:
get_constraint_targets_for_solving()
* Fixed a bug where "found constraint ...." prints would appear in the
console. Looks like some warning print that was forgotten

TODO:
* While coding this, I noticed potential division by zero bugs with
the Limit Distance constraint. Looking into these after this commit.
2011-05-24 12:12:12 +00:00
7459133648 Patch [#27344] 300+ New/changed tooltips by Davis Sorenson (dsavi). Thanks a lot!
Reviewed by Tom Musgrove and myself. 

From the patch description:
ValterVB on #blendercoders submitted a long list of missing tooltips in Blender, and I went through the list and added all I knew. After that I crowdsourced the rest by putting a spreadsheet on Google docs and having people fill in the missing ones that I didn't know. So if there's some weird tooltip in there that doesn't make sense, that's why.

Thanks to Wolter, spacetug and others on BlenderArtists for contributing tooltips.
2011-05-15 17:59:48 +00:00
2060a26139 Bugfix [#27134] Minor bug in the name: property Constraint.is_valid
has label "Disabled"

"is_valid" RNA property for constraints had the property name
inverted, but the displayed name and tooltips were not inverted too
2011-04-23 11:13:36 +00:00
210ee1ade4 whitespace only, no functional change mixed tabs/spaces --> tabs. 2011-04-21 13:11:51 +00:00
65b13c8089 fix [#26757] Python console: help() doesn't work anymore
also quiet some warnings & add docstrings to bpy module which was shaowing the GPL header in its help() message.
2011-04-03 23:11:00 +00:00
0298d223cc quiet various warnings, also disable -Wdouble-promotion with cmake since it gives warnings with variable length args. 2011-04-03 10:04:16 +00:00
afc468c655 Bugfix [#26312] Wrong text in a button in the Stretch to constraint
This looks like a simple Copy+Paste typo
2011-03-04 06:34:41 +00:00
Nathan Letwory
a47ca06502 doxygen: blender/makesrna tagged. 2011-02-27 20:20:01 +00:00
Dalai Felinto
ac1b08a928 BGE patch: [#26223] Some RigidBody joints fixes (ui angles, conetwist/hinge limits etc) by Juha Mäki-Kanto + ui changes pour moi
From the tracker:::
Issues fixed:
- ConeTwist-constraint's params weren't making it to the CcdPhysicsEnvironment, also added Hinge's params.
- UI wasn't using angles where applicable.
- btHingeConstraint's constructor can create frame-matrices which don't align so the hinge doesn's start at 0 degree tilt.
This is an issue when setting limits.

Changes:
- UI: Hinge limits can be set (and disabled).
- UI: ConeTwist only has max-limits and only the twistX can be disabled
- PyApi via rna_constraint.c: added the functions limit_xyz_min, limit_xyz_max (for 6dof), limit_angle_xyz_min,
limit_angle_xyz_max (for 6dof), limit_angle_x_min, limit_angle_x_max (for hinge).
- PyApi: dropped python-function limit_cone_min. 

.:. Extra:
UI Changes:
- renamed "RigidBody Joint" to "Rigid Boidy Joint" 
- reorganized UI to conform with other parameters (e.g. Limit Rot)
- added dis/active all over the place :)
2011-02-27 09:21:13 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
50e09b15a9 Bugfix [#25707] / Todo Item: "Local Space" for Object constraining
For Constraints, there's now a working "Local" Space for Objects
without parents. This is defined as relative to the object's rotated
set of axes which results from rotation that gets set via "rotation"
transform properties.

I'm not sure whether this different behaviour between parented and
unparented objects will be too confusing (and thus require separate
settings + a round of version patching), so I'll wait until we get
proper testing from experienced riggers first.
2011-01-26 23:33:08 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
d5820f0dd0 bugreport & fix [#25441] Copy Transforms Constraint head/tail fixin'
from Dan Eicher (dna)
2011-01-02 04:16:19 +00:00
fd7152b839 Bugfix, IRC report
Floor constraint didn't work: the defines for the enums were using
the wrong ones, the right ones are not logical... but code and dna
and old files assume these. Now it works :)
2011-01-01 15:28:21 +00:00
46feccfaea Fix for bug #25367 didn't ensure the problem wasn't happening elsewhere.
add a check in makesrna, found FollowPathConstraint.offset was a float wrapped as an int.
2010-12-30 12:50:44 +00:00
d6a90a6bff Rigid Body Joint Constraint:
* RNA fix for my last commit, we want the last 3 items of the array, not the first 3, added get/set functions.
2010-11-26 17:11:16 +00:00
6aea182b1e Bugfix for [#24768] 6DoF Constraint options missing.
* Added the options in UI and RNA 

Funny Note: This was on my own to-do list (see commit 20577 in the py file from 2009-06-02 when I ported the UI from C to Python) :P
2010-11-20 09:48:51 +00:00
3a0bb75bac [#24128] Rigid Body Joint Constraint min/max limits [patch]
from Dan Eicher (dna)
2010-10-13 01:43:03 +00:00
e2f4395864 Fixed problems with outliner update in same cases caused by my previous commit.
This troubles were caused by "break" of ND_OBJECT case in outliner area listener,
so not all cases were handled.

Handle more data and actions in outline listener, but not refresh when it's
actually unneeded (there where problems with it without that "break" -- extra
refreshing could be made).
2010-09-18 08:37:47 +00:00
594c40e37f bugfix [#23641] enable/disable switch of "Limit" Constraints are inverting 2010-09-06 07:26:21 +00:00
1c7306b045 2.5 Constraints:
*Enable/Disable Checkbox was inverted.
2010-09-03 16:45:33 +00:00
93ffe7d7f1 rna renaming (manual edits) 2010-08-21 04:51:00 +00:00
4f5f868a52 rna data path names which are more likely to break animations.
Added an operator "Update Animation Data",
access from the search menu to update drivers and fcurves.
2010-08-20 06:09:58 +00:00
55ed0f0507 more rna renaming. 2010-08-18 08:26:18 +00:00
7da5d9faec rna renaming, still only adjusting properties that wont be animated (at least its very unlikely). 2010-08-18 07:14:10 +00:00
3bd039eff9 apply rna rename most of the show_*, names. 2010-08-17 17:03:52 +00:00
109a3b3198 pointer poll functions for object's, mainly for modifiers, constraints.
Lattice modifier only shows lattices types, Shrink wrap only meshes etc.
2010-08-03 06:51:36 +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
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
8476d5a2b3 Constraint UI:
* Some code cleaning.
* Removed icon and emboss for the "enabled" bool, use default checkbox now.
2010-07-07 14:10:41 +00:00
ce94f52dbc Fix for [#22714] Constraints stack : move up and move down buttons problem
* Constraint template now uses 2 rows as well, when the area width is small. 
* UI Code could use some code/layout cleanup still, will look into that soon.
2010-07-04 09:42:00 +00:00
7d2f5a5c5d Constraint UI:
* Alphabetical order fix: [P]ivot comes before R and S ;-)
2010-06-02 17:01:50 +00:00
4ebc634168 == Pivot Constraint ==
This constraint allows an object or bone to have their rotations applied as if their origin/pivot-point was located elsewhere. The most obvious uses include foot-roll, see-saws, but could also include more complicated rolling-box examples.  

== Usage Examples ==
=== Foot Roll ===
1. Add 'Pivot' Constraint to the bone without any target.
2. Set the 'Y' value of the offset to the length of the bone. Usually this should be negative (if you rig with feet facing 'forwards' along -Y axis). This gives you a pivot point relative to the bone's (preconstraint) location, which should be at the tip of the bone here. Disabling the 'Use Relative Offset' would make this offset be relative to 0,0,0 instead of to the owner/bone-head.
3. Ensure that the 'Pivot When' setting is set to '-X Rot', (default) which means that the pivot will only used when the rotation on the X-Axis is negative to get tip-toe 'roll'. 

=== See Saw ===
1. Add a 'Pivot' constraint too see-saw plank object, this time with a target that you wish to have as the pivot-point. It's possible to do this without too (as before), but is less intuitive.
2. Optionally, if you want the plank slightly raised, set the z-offset value, which should make the pivot-point used to be relative to the target with the z-offset applied.
3. Ensure that 'Pivot When' is set to 'Always', which means that the pivot will always be used, irrespective of the rotation.

== Notes ==
* The 'Pivot When' setting has been integrated in the constraint, since this is something that will often be required for these setups. Having to set up additional drivers to drive the constraint to do this kindof beats the purpose of providing this.

* The 'Offset' functionality is probably not presented as clearly as it could be. We may need to go over this again.

* For foot-roll - if any scaling of the foot is required, simply set up a driver on the y-offset to make this dynamically respond to the "scale" RNA property of the bones (don't use the "Transform Channel" vartype since that won't work correct here). However, this shouldn't be common enough to warrant special treatment.
2010-05-27 10:50:06 +00:00
c7a6bf6fc2 2.5 Constraint UI:
* Slight alignment change in header, to match modifiers box a bit better. Basically the "name" filed expands with the size of the properties panel now, which looks better imho.
* Code cleanup: Removed some old drawing functions, and the Python Constraint UI Code, which was not functional anyway.
2010-05-09 08:33:18 +00:00
97454d7b85 no functional changes. use sizeof() and MAXFRAME 2010-04-04 14:33:41 +00:00
9105f6f0bd rna naming, *_frame --> frame_* 2010-04-01 21:44:56 +00:00
93c7b8a2d0 remove unused includes UI_*.h, WM_*.h, ED_*.h 2010-03-24 10:56:37 +00:00
26736ac0f0 remove unused rna includes 2010-03-24 09:51:32 +00:00