Commit Graph

221 Commits

Author SHA1 Message Date
912151763d Followup to rB8714ae09f894: better not have several RNA properties affect a single DNA one. 2014-04-28 13:25:14 +02:00
3216e4b202 API Cleanup: Use BKE_constraint prefix for constraint api 2014-04-11 11:47:07 +10:00
8714ae09f8 Fix T39563: Tiny unit-display problem in constraint panels.
There is no good solution here, since RNA props can only have one type/unit.
Tried to find the less worse one - have different RNA props for same DNA value
(a bit like the angle/length for camera lens).

Also fixed two other issues with Transform conctraint:
* Angle were still in degrees (yes, another backward-compatibility breacking).
* Scale was absolute, unlike loc/rot.

Also cleaned up a bit the code, replaced some magic numbers by proper enums, ...
2014-04-07 12:17:01 +02:00
6734936c13 RNA API: use bool's for enum itemf callbacks. 2014-01-04 18:10:01 +11:00
35bb5465ae code cleanup: reuse rna_matrix_dimsize_NxN defines between RNA functions 2013-10-10 20:14:04 +00:00
203c6effd5 code cleanup: quiet rna warnings, remove remove_strict_flags() for cmake/rna.
also set_source_files_properties() wasn't working for rna_*_gen.c files,
set dna.c and generated data files with generated property too.
2013-09-20 06:35:28 +00:00
202109a8f5 code cleanup: set enums as static or add RNA_enum_types.h where they are used elsewhere.
also minor style cleanup.
2013-09-11 21:27:14 +00:00
e492fad130 shrink-wrap constraint, improve and remove some limitations.
- ability to change the space the axis is projected in (so you can choose worldspace or -space, was always local-space before).
- support projecting on a negative axis, without this some very simple clamping is not possible if the direction happened not to be positive.
- add distance limit (same as modifier), without this single meshes surrounding an object would make the constraint impossible to use in some cases (it would snap to the wrong side).

note: this removes the ability to project on multiple axes at once but this option only added up directions and didnt project on multiple axes as you might expect.
2013-09-07 12:59:16 +00:00
42a619c781 allow negative offset for floor constraint.
(since this isnt a projection, it just clamps on an axis this can be supported).
2013-09-02 22:24:44 +00:00
7dde355185 fix [#34958] keyframe many items would fail if there was a (") in the text. 2013-04-23 20:10:22 +00:00
838c263be1 Constraint UI:
* Hide Script Constraint from UI, not functional.
* Alphabetical order fix for Motion tracking constraints.
2013-03-23 08:47:29 +00:00
a4e284091b Added descriptions for each constraint type, including common usage
restrictions/limits to reduce confusion
2013-03-17 03:45:15 +00:00
dfa8540cdf use bool for rna funcs. 2013-03-07 02:44:55 +00:00
2c084e280d code cleanup: remove unused arg 2013-02-22 00:51:58 +00:00
37ba969c74 Making a few tooltips more descriptive, in light of recent confusion over the
purpose of some of these features

* ClampTo Constraint, Target Object field: now mentions that it is for curve
objects only
* Dopesheet Editor Modes: now describe what data is editable in each mode. The
wording may be a bit clumsy here, but (apart from Mask Editor one, which I'm not
entirely sure about) should at least be technically correct
2013-01-05 12:27:54 +00:00
f54b6eee45 More wrong "in degrees" busted out of tips! 2012-12-31 15:54:44 +00:00
ba14beb000 Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from blenkernel... 2012-12-23 11:31:15 +00:00
d8c257faa7 IK Solver:
* Rename Legacy to Standard, it's not being deprecated as far as I know.
* Make option to toggle off Location solving work with Standard.
* Make it converge a bit better in some cases by enforcing a minimum number of
  iterations before giving up.
* Move IK solver choice out of bone panel, it's an armature level setting and
  should be set there.
2012-11-24 00:18:34 +00:00
9b2a0f3824 Comment + whitespace tweaks for constraints
* Radiant -> Radians

* Noted down revision number for when Jahka removed the old constraint blending
logic. I spent some time hunting this down while trying to check if it might've
caused any obvious changes leading to one of the (now closed) bugreports. Better
to note this in the code then.
2012-10-27 13:22:44 +00:00
1298357581 Fix #32964: IK constraint had a "Target" option, which actually is an internal
flag that shouldn't have been exposed in the user interface. Also avoided many
calls to pchan.is_in_ik_chain in UI script, it's somewhat slow.
2012-10-24 22:36:06 +00:00
7e0d1cf652 Typo fix: Tooltip for "Offset Factor" for FollowPath constraint referred to
"bone" instead of "curve"
2012-10-05 13:06:36 +00:00
9f30c7147c Frame matching methods for follow track constraint
This is needed in cases when using blender camera with different
resolution than original footage. Behaves in the same way as
background picture framing.
2012-08-09 16:57:02 +00:00
37dc4006c7 First load of spell and typo fixes (mostly UI messages, but also one or two pieces of code using mis-spelled names). 2012-07-03 17:20:21 +00:00
32478997ec style cleanup 2012-06-27 18:29:47 +00:00
8489e100dc Naming + Style tweaks for newly added flag for Action Constraint
Old names used could conflict with other things too easily in future
2012-06-12 11:54:31 +00:00
2127e62c9b "Fix" for [#30704] Action Constraint mapping bug
Feature request rather than a real bug: allow constrained bone to use "object" part of the linked action, in addition to "same-named bone" part.
2012-06-12 06:22:23 +00:00
Dalai Felinto
dfa307f73f constraints names are not matching (rna and constraint.c). doing rna->constraint.c 2012-06-08 21:04:48 +00:00
f9043865a2 Disable setting non-object actions as the action used by the Action Constraint
(... I could've sworn there used to be some dynamic enums for filtering actions
by root type)
2012-05-17 10:28:30 +00:00
a9f6e54384 style cleanup: mostly whitespace in rna 2012-05-12 11:01:29 +00:00
ff4ff9c8a4 Bugfixes for various ID-block references (Constraints, NLA)
* ID-blocks referenced by Constraints but not being used as the target objects
(such as Actions in the Action Constraint, or Text Blocks in PyConstraints) now
get usercounts for being referenced in this way. This should fix ancient bugs
such as [#19205] and [#8593]. More tests still needed to verify that this
does now play nicely with proxies.

* Changing actions used by NLA strips should now update the usercounts
accordingly
2012-05-05 15:54:08 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
e5bda9f827 Fixed some UI message typos (spotted by Leon Cheung, thx). 2012-04-14 15:44:31 +00:00
134bf10e4d i18n: "labels" of multi-section enums need to be marked for gettext (N_()), as they are not available from python... 2012-04-13 20:25:05 +00:00
f469e0652a Node socket values now only have soft limits, rather than hard limits, so you
can type in any value, and only when sliding the number value there is a limit.
It was already possible to assign any value to a socket with node linking, so
this shouldn't cause any new issues.

Also raised the limits on the math nodes, with a patch by Agustin Benavidez.
2012-03-30 16:09:05 +00:00
55c210b57e Fix [#30709] Renaming a bone renames all drivers' targets using a bone of that name, regardless of the armature.
This fix adds a "ref_id" ID pointer to BKE_all_animdata_fix_paths_rename() & co, which is the ID against which prefix+oldName/NewName is "applied", currently only used for drivers' bones targets. Just pass NULL to get same behavior as previously. A bit annoying to make such a change for such a specific case, but there seems to be no other way to go... :/
2012-03-30 13:04:29 +00:00
5a90ea77bc style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:24:53 +00:00
ed43b652ee Code style edits (mostly spliting long lines, and removing trailing spaces).
Note about long lines: I did not touch to two pieces of code (because I don’t see any way to keep a nicely formated, compact code, with shorter lines):
* The node types definitions into rna_nodetree_types.h
* The vgroup name functions into rna_particle.c
2012-03-18 09:27:36 +00:00
0114d78c33 Code cleanup in rna files (huge, higly automated with py script).
Addresses:
* C++ comments.
* Spaces after if/for/while/switch statements.
* Spaces around assignment operators.
2012-03-05 23:30:41 +00:00
38ad71f0fa Cleanup Only: replace numbers with defines. 2012-02-02 07:37:44 +00:00
14fa3be9bf fix for error found while looking into bug [#29998].
rotation limits can exceed 90deg.
2012-02-01 04:11:19 +00:00
67dca2275e Action constraint transform channel was listing X Scale as Z Scale,
resulting in two Z Scale listings in the menu.  Fixed.
2012-01-31 04:23:49 +00:00
0c7a455c07 Action Constraint GUI - Refinements and Clarification
While looking at a bug report, I found that the current GUI for the Action
Constraint actually didn't make sense, mixing up settings so that it wasn't
clear which settings corresponded to which others. This commit cleans up the
layout into a clearer two-column design to have a "from" -> "to" layout, making
all the
relationships between things clear.

For more details see http://aligorith.blogspot.com/2012/01/action-constraint-
gui-revised.html
2012-01-27 01:30:58 +00:00
cd84a43334 Camera tracking: added depth object to Follow Track constraint
If this object is defined, object with Follow Track constraint would be
projected into surface of this depth object.
If object is not set or there's no projection onto it, projection plane
calculated based on original object position would be used.

This allows to make cheap facial mocap.
2012-01-04 17:20:08 +00:00
8a9d901c81 Camera tracking: add camera to follow track and object solver constraint
Object used to be parented to active camera which isn't very convenient when
working with witness cameras.

Now parent camera can be specified in constraint (if it's not specified, active camera is used)
2011-12-15 20:38:23 +00:00
9355cc5c39 Object tracking; initial commit
This commit implements basis stuff needed for object tracking,
use case isn't perfect now, interface also should be cleaned a bit.

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
2011-12-05 18:57:17 +00:00
ddf207b7c3 More UI messages fixes and tweaks (found while translating in french). 2011-11-19 12:21:15 +00:00
f474576351 Camera tracking: interface cleanup and small buttons renaming
- Move tracking-related constraints to own section in list
  Currently there are only two constraints, so can look a bit odd,
  but it'll be other constraints like "Object Solver" and so.
- Move motion-tracking parameters from 3D viewport Display panel
  to it's own panel.
- Get rid of "Bundle" in 3d viewport. It's quite obvious that it's
  a 3D representation of tracks is used in 3D viewport and it shouldn't
  be so confusing for artists now.
- Also get rid of "Bundle" in Follow Track constraint.
  Old files can change a bit because of changes in DNA.
- Also get rid of "Bundles" in operator which creates vertices cloud
  from 3D position of tracks.
- Rename "Principal Point" to "Optical Center" in the interface.
2011-11-14 06:41:42 +00:00
27d42c63d9 Camera tracking integration
===========================

Commiting camera tracking integration gsoc project into trunk.

This commit includes:

- Bundled version of libmv library (with some changes against official repo,
  re-sync with libmv repo a bit later)
- New datatype ID called MovieClip which is optimized to work with movie
  clips (both of movie files and image sequences) and doing camera/motion
  tracking operations.
- New editor called Clip Editor which is currently used for motion/tracking
  stuff only, but which can be easily extended to work with masks too.

  This editor supports:
  * Loading movie files/image sequences
  * Build proxies with different size for loaded movie clip, also supports
    building undistorted proxies to increase speed of playback in
    undistorted mode.
  * Manual lens distortion mode calibration using grid and grease pencil
  * Supervised 2D tracking using two different algorithms KLT and SAD.
  * Basic algorithm for feature detection
  * Camera motion solving. scene orientation

- New constraints to "link" scene objects with solved motions from clip:

  * Follow Track (make object follow 2D motion of track with given name
    or parent object to reconstructed 3D position of track)
  * Camera Solver to make camera moving in the same way as reconstructed camera

This commit NOT includes changes from tomato branch:

- New nodes (they'll be commited as separated patch)
- Automatic image offset guessing for image input node and image editor
  (need to do more tests and gather more feedback)
- Code cleanup in libmv-capi. It's not so critical cleanup, just increasing
  readability and understanadability of code. Better to make this chaneg when
  Keir will finish his current patch.

More details about this project can be found on this page:
    http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011

Further development of small features would be done in trunk, bigger/experimental
features would first be implemented in tomato branch.
2011-11-07 12:55:18 +00:00
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