Commit Graph

75 Commits

Author SHA1 Message Date
d7bee8c117 Big commit with work on Groups & Libraries:
-> Any Group Duplicate now can get local timing and local NLA override. This
   enables to control the entire animation system of the Group.

Two methods for this have been implemented.
1) The quick way: just give the duplicator a "Startframe" offset.
2) Advanced: in the NLA Editor you can add ActionStrips to the duplicator
   to override NLA/action of any Grouped Object.

For "Group NLA" to work, an ActionStrip needs to know which Object in a
group it controls. On adding a strip, the code checks if an Action was
already used by an Object in the Group, and assigns it automatic to that
Object.
You can also set this in the Nkey "Properties" panel for the strip.

Change in NLA: the SHIFT+A "Add strip" command now always adds strips to
the active Object. (It used to check where mouse was). This allows to add
NLA strips to Objects that didn't have actions/nla yet.

Important note: In Blender, duplicates are fully procedural and generated
on the fly for each redraw. This means that redraw speed equals to stepping
through frames, when using animated Duplicated Groups.

-> Recoded entire duplicator system

The old method was antique and clumsy, using globals and full temporal
copies of Object. The new system is nicer in control, faster, and since it
doesn't use temporal object copies anymore, it works better with Derived
Mesh and DisplayList and rendering.

By centralizing the code for duplicating, more options can be easier added.
Features to note:

- Duplicates now draw selected/unselected based on its Duplicator setting.
- Same goes for the drawtype (wire, solid, selection outline, etc)
- Duplicated Groups can be normally selected too

Bonus goodie: SHIFT+A (Toolbox) now has entry "Add group" too, with a
listing of all groups, allowing to add Group instances immediate.

-> Library System

- SHIFT+F4 data browse now shows the entire path for linked data
- Outliner draws Library Icons to denote linked data
- Outliner operation added: "Make Local" for library data.
- Outliner now also draws Groups in regular view, allowing to unlink too.

-> Fixes

- depsgraph missed signal update for bone-parented Objects
- on reading file, the entire database was tagged to "recalc" fully,
  causing unnecessary slowdown on reading.

Might have missed stuff... :)
2005-12-11 13:23:30 +00:00
81eb851796 - bug fix of bug #2923
bug was reported by ideasman, thanks! This bug fix also solve problem, when
   MetaBall is parented to some zero size object.
2005-11-17 23:26:45 +00:00
02cadf84be - minor warning fix 2005-07-18 19:59:51 +00:00
06c7653be1 - added boundbox_set_from_min_max function
- fix DerivedMesh.getMinMax implementations to set min & max when
   there are no vertices
 - mesh boundbox calc was wrong in some cases, messed up HOMEKEY
   and localview zooming
2005-07-18 17:33:51 +00:00
f38e0686d9 new round of warning fixes. we are now down to 24 with Xcode on blender
alone with the following flags :
-Wall -Wno-char-subscripts -Wno-missing-braces.

the only one still worrying me is in rand.c line 57 :

rand.c:57: integer constant is too large for "long" type

but i have no clue about how correct cross-compiler and 32/64 bits friendly

see also my mail to commiter list for signed/unsigned issues
2005-06-04 16:22:50 +00:00
8a59480289 - last time commit. It fixes bug reported by Kent Mein. Polygonisation of Metaball was broken. Test file:
http://www.cs.umn.edu/~mein/blender/blend/metaball.blend
    http://www.cs.umn.edu/~mein/blender/blend/metaball.png

 - it should fill octal tree much more better ... polygonisation of MetaBalls is faster little bit now too
 - stiffness limit is 10.0
2005-05-30 06:37:33 +00:00
7811d7209a Bunch of gcc 4.0 warning fixes.
source/creator/creator.c
	changed ifdef's around fpe_handler to match when its actually used.

intern/SoundSystem/intern/SND_AudioDevice.cpp
	Changed: SND_SoundObject* oldobject = oldobject = pIdObject->GetSoundObject();
	to: SND_SoundObject* oldobject = pIdObject->GetSoundObject();

intern/SoundSystem/openal/SND_OpenALDevice.cpp
	removed unused var.

source/blender/blenkernel/intern/mball.c
	initalized a couple of vars that might have been used uninitalized.

The rest were changing types to match, most of them were something like
was short * should have been unsigned short *.

Kent
2005-04-27 11:52:50 +00:00
53437f9536 - it is possible to rotate with MetaBalls in edit mode now 2005-03-29 10:03:30 +00:00
c78e44cdc5 big warning hunt commit
lot of casts, added prototypes, missing includes and some true errors
2005-03-09 19:45:59 +00:00
c2e6ced9b8 - added "hide" flag for MetaElem. Hidden MetaElem doesn't influence polygonisation.
It is useful for large scenes, when you work with lot of MetaElems. Example:

  http://e-learning.vslib.cz/~hnidek/pics/deer.jpg

  (PildaNovak's model)

- shortcuts for hiding of MetaElems:
   H ......... hide all selected MetaElems
   Shift-H ... hide all unselected MetaElems
   Alt-H ..... unhide all hidden MetaElems

- items in header menu of 3dview
2005-02-21 10:40:30 +00:00
cbb66c68f0 - bug fix #1843
https://projects.blender.org/tracker/index.php?func=detail&aid=1843&group_id=9&atid=125

  function find_basis_mball() sometimes returned duplicated MetaBall as basis mball, which caused crash of Blender. It happened only when basis MBall object was used for duplication. It was propably caused by some changes in duplicator code.
2004-11-20 11:59:44 +00:00
48121a0b6a - fix for bug #1577
MetaElems aren't truncated. It was caused by bad filling of octal tree.

- bug fix: when non basis mball is in edit mode, then it is polygonised again.

- bug fix: fixed some other unexpected disappearing of MetaBalls caused by bad filling of octal tree.
2004-11-10 13:20:13 +00:00
7000bebc4b - added octal tree node optimalization of MetaBall polygonisation
polygonization of 512 MetaBalls:
   - version 2.33a:      76 s
   - current cvs version 8 s

- button "Never" is added in button window: Metaballs are polygonized only during render time (it is useful for particle animation) http://e-learning.vslib.cz/hnidek/misc/bowl_metaballs.blend
2004-06-29 17:10:13 +00:00
690a430bcb Counter of mballs, before polygonize, had error in taking linked mball-
data into account, causing errors modeling.
2004-05-29 17:00:51 +00:00
b043b0e37f -bug fix #1186
http://projects.blender.org/tracker/?func=detail&atid=125&aid=1186&group_id=9

-I forgot somethig, when i commited to this file last (i'm really sorry)
2004-04-22 21:16:54 +00:00
cdaff37c61 Fixed bug [ #1101 ] Duplivert Limit for Metaball
No limits for count of MetaElems (1024 in past).
2004-04-06 13:51:59 +00:00
16e90d56d2 - replaced AUTOSPACE define with {ME_,CU_,MB_}AUTOSPACE,
different objects shouldn't share flags this way (still sharing of
  other mesh flags in renderer... ickity pickity, but I'm not fixing now)
 - removed some unnecessary uses of DNA_mesh_types.h
2004-03-14 16:59:48 +00:00
6c09dd6fc2 - some warning removed 2003-12-08 13:48:20 +00:00
06d0fa22d9 - bug of hidden MetaBalls removed :-) (some problems with old TubeX/Y/Z can occured)
- MetaBalls/MetaElems with too small stiffness are not polygonized, but still can influence others MetaBalls/MetaElems
- better behavior of negative MetaBalls/MetaElems
2003-12-08 13:30:04 +00:00
71500a2df1 - fixed another oldie... displaylists for MBall was generated FAR too often.
even for each redraw! Now its all smooth & fast again.

  introduced new kernel API call: int is_basis_mball(ob), this provides a
  quick check of the object is the actual basis for the displaylist and
  polygonization.
2003-11-21 12:30:15 +00:00
5d2f98f440 - improved polygonization (linear interpolation) of Implicit Surfaces (Meta)
- added new MetaElem types (plane, elipsoid and cube) old TubeX, TubeY and TubeZ will not be supported
- new buttons in Edit button window (dx, dy, dz)
- added new items into the headers menu and toolbox menu

more details at: http://blender.webpark.cz
2003-09-05 13:54:22 +00:00
84f2b08461 - patch provided by Jiri, to prevent polygonizer not to do metaballs
outside of the old boundbox of the Object.

  it's a small fix, the code is still commented in... need further
  work to find out why sometimes balls disappear
2003-08-09 17:09:11 +00:00
1458560f6d The last of the blenkernel files with translated comments 2003-04-26 13:07:59 +00:00
d0e346d544 updated .c files to include:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

Just need to finish cpp files now :)

Kent
--
mein@cs.umn.edu
2002-11-25 12:02:15 +00:00
Hans Lambermont
12315f4d0e Initial revision 2002-10-12 11:37:38 +00:00