Commit Graph

18266 Commits

Author SHA1 Message Date
Alexander Ewering
dfe3ad0d7b copy_softbody() didn't check if object actually was softbody! 2005-04-16 16:56:06 +00:00
5ff281eaec Li'll feat request;
When curve objects have no front/back faces, the bevels were only drawn
for the outer part. Now it also makes interior bevels, so yo can
have a curve become a 'solid' ring easily.
Note: only works when you disable filling option "Front" and "Back".
2005-04-16 15:51:44 +00:00
07ef51cdb1 More SoftBody stuff:
- after grab/duplicate the softbody didn't get a reset signal
- added 'copy properties' for softbody settings
- duplicate object didn't copy softbody yet
2005-04-16 15:06:02 +00:00
7943f7990e Softbody:
- Added browsing for vertex group for "Goal" in SoftBody buttons.
- Means the default name "SOFTGOAL" isn't needed anymore
- temporally, on file read, the "SOFTGOAL" vertex group is set, if exists
- removing vertex group possible too
- changed softbody.c code to use this
2005-04-16 14:01:49 +00:00
11ef47407d - bug fix, tface flags weren't checked correctly for INVISIBLE
- bug fix, tfaces weren't accessed correctly in presence of hidden/invis.
2005-04-14 13:46:05 +00:00
f2678b8dac hum ..
turned off quad optimization, which is a bug IMHO, since breaking a quad it 2
faces always needs a test on both faces
2005-04-13 20:32:28 +00:00
f5cb2db604 Ack! Found out the bugfix commit #2411 was accidentally still calling to do
all actions (in all objects) instead of only the ones parented to
particle system.
2005-04-13 19:26:38 +00:00
84359bf996 im going to dig a hole to hide in
beginners standard typo did break particles
2005-04-13 12:18:58 +00:00
22ccdea4d3 Rather give a pointer to a local copy of vital data to pdDoDeflection()
in sb_deflect_particle() than a pointer to data.

Changed de-swamping in sb collision to move along face normal.
2005-04-13 07:51:06 +00:00
c7b82c40c2 Did put softbody time scaling stuff to functions,
so we can decide later what proper timing is meant to be.
i've prepared something in static float sb_time_scale(Object *ob) [softbody.c] (ton :) )

'hacked in' particle collision system to match softbodies needs
naa .. i don't realy like the hack to int pdDoDeflection(..) in kernel .. effect.c  (but it works :) )
so .. until we'll have a 'nice' collision detector this is what 'softbodies simulator can live with'
did not remove intentionally test function static int sb_deflect_test(..) for further discussions

http://mitglied.lycos.de/mosebjorn/hidden/  sbcol6.blend should work for a while
2005-04-12 21:36:21 +00:00
52b7b978e3 Bug fix #2411
(Looks like big commit, but is mostly just change of API call!)

Particle emittors now can be parented to an armature Bone, and give the
correct path for each particle. Note that this doesn't work for deform!
And, for each particle the entire armature is evaluated, all actions and
NLA strips.

It used to work a little while BTW, but the code just called ALL armatures
and made ALL deforms again. Was quite slow... thats why the API call
change: do_all_actions() now accepts Object * to only do that one. With
a NULL it now does all still. Will disapppear in recode of course...
2005-04-11 17:55:20 +00:00
6fa9f9b7f5 - don't apply creasing to edges with no adjacent faces... things
go wacky.
2005-04-10 15:04:52 +00:00
Stephen Swaney
e8a6bf6fb9 Bugfix for disappearing hilight bug and code re-org for text editor
from Ricki Myers (themyers).

Comes with nice juicy commit msg, too!

- source/blender/blenkernel/BKE_text.h

	- Removed indent_paste, uncommen, unindent_lines, comment_paste,
	uncomment_paste, uncomment, set_tabs.

	All these functions cut and re-added text (I felt this was
	unsafe). whicch is was caused the highlight loss.


	- Now the only functions are Indent, Unindent, comment, uncomment,
	  setcurr_tab. 	All these functions only take one @parm (struct Text)

	-indent(struct Text *text)
		copy's the selected text in a MEM_mallocN line by line added a
		tab at the begginning

	- Unindent(struct Text *text)
		Tests if current line starts with a tab.
		if TAB remove it
	- comment(struct Text *text)
		copy's the selected text in a MEM_mallocN and adding a # at the begginning

	- Uncomment(struct Text *text)
		Tests if current line starts with a #.
		if # remove it

	- setcurr_tab (Text *text)
		Checks for Tabs pri. to any text
		if : is found and not in a comment then Tabs is increased by one
		if "return", "break", "pass" is found then Tabs is decreased

- blender/source/blender/src/header_text.c

	Changed:	txt_cut_sel(text);
			indent_paste(text);
	TO:
			txt_order_cursors(text);
			indent(text);
	* no more cutting of the text

- source/blender/src/drawtext.c

	set_tabs(Text *text) just calls setcurr_tab(text);
2005-04-10 14:01:41 +00:00
b1675a345a - made shadedisplist not free all object displist data...
this messed with data caches which messed with assumptions made
   by drawing code (and was just silly not to mention). here
   be dragons...
2005-04-10 00:00:34 +00:00
982cd94269 Fixed uninitialized causing almost infinite loop.
Wind is media friction now, to have consitent relaxing when the squall is gone, fixed direrction.
2005-04-06 10:29:04 +00:00
331c25dda4 fixed small glitch multiplying nodemass twice (thanks ton)
claened up sbObjectStep(...) to follow 'time step rules'
added really care for framerate in scene
renamed arguments in softbody_calc_forces(...); and softbody_apply_forces(...); for better reading
fixed particle integration to be ODE solver compatible
2005-04-05 20:28:32 +00:00
6bf71582b9 Adds OpenGL includes for details see:
http://projects.blender.org/tracker/index.php?func=detail&aid=2387&group_id=9&atid=127

Kent
2005-04-05 15:02:21 +00:00
7a377bcb05 - Made SoftBody work with Particle Force Fields.
- Added new (Particle) Deflector; type Wind.
  Wind gives constant directional force. It is animatable (Ipos) and reacts
  to Object scaling. Also uses FallOff. Works for particles and SoftBody
  quick movie check; http://www.blender.org/bf/0001_0250.avi
  test file is in download.blender.org/demo/test/wind_soft.blend

- Added MaxDist option for forcefields, to control its influence better.
  Is drawn as circle in 3d window.

Forcefields are a bit weak still... should react to scaling, or not; in
that case drawing should indicate it (done for spherical field now).
2005-04-04 18:09:47 +00:00
f10c10310f - change make_orco_displist_mesh to use current editmesh as source
if needed.
 - don't return cached subsurf during editmode, order is messed up (fixes
   orco rendering).
2005-04-04 12:22:33 +00:00
dfdb1bbd8a - dropped user specified vertex data functions for ccgsubsurf,
didn't really add value. hardcoded to use float[3] now.
2005-04-04 05:21:20 +00:00
93c66febd7 - removed DispListMesh.{editedge,editface}
- removed displistmesh_from_{mesh,editmesh}
 - removed EditVert.ssco
 - removed unused functions for DispListMesh DerivedMesh

 Still need lots more testing for this stuff.
2005-04-04 04:50:41 +00:00
876d8ef7b5 - removed subsurf.c from SConscript 2005-04-04 04:21:01 +00:00
b88711b531 - moved subsurf_calculate_limit_positions to using ccgsubsurf
- removed ME_CCG_SUBSURF define
 - dropped CCGSubSurf from editing menu... subsurf is always
   CCG now.

 NOTE: If you saved a file with CCGSubSurf set on the button
 will show up blank (will still work as a subsurf). Just change
 type back to Catmull-Clark.

 Wave bye-bye to HyperMesh...
2005-04-04 04:20:32 +00:00
0b02d592b8 - work-in-progress: subsurf level 0 now just acts like a regular mesh,
before it would follow subsurf code path by creating fake displistmesh,
   etc... kinda fun for testing but just annoying now.
 - change to creasing behavior, to make sure that with full creasing effect
   is just simple subdivision.
2005-04-04 03:38:21 +00:00
5c85bb9cd2 - kinda crazy, but replaced old ME_SIMPLE_SUBDIV method with just
using regular ccgsubsurf but with crease set to full.
2005-04-04 02:55:56 +00:00
7b0a661413 - sorry, forgot to save before commit, part of vertex normal fix 2005-04-03 22:02:03 +00:00
da01fb62ac - added vertex normal calculation functionality to CCG subsurf (CCGSS
is fast, but can be rather tedious to work with...)
 - vertex normals for smooth faces draw correctly now... this code also
   switched to drawing with GL_QUAD_STRIP which can be quite a bit faster
   (depends how fast graphics card calcs lighting, I get 50% faster here)
2005-04-03 21:52:10 +00:00
41ad061a09 Error in Softbody goal-min and goal-max correction. It was giving
not as result the range as indicated!
2005-04-03 20:57:31 +00:00
9ec8778288 SoftBody:
- on add new SoftBody, it creates automatically edges in Mesh now, gives
  too confusing results otherwise
- if no edges exist in mesh, it also doesnt add diagonals for faces in
  softbody

Transform;

- fixed stupid 'used unitialized' gcc warning (sorry theeth!)
- made dualAxisConstraint() accept string too
- little cleanup of prints in using Manipulators
2005-04-03 20:13:10 +00:00
8d92e6ced2 Added more dependencies to softbody, for correct recalc
For example; subsurfed softbody after play anim (ALT+A) didn't get
cleared correctly. Darn where_is_object stuff!
2005-04-03 16:57:16 +00:00
90df59630e More softbody goodness;
- Added Softbody effect for Lattices (not too useful yet without
  vertexgroups though)
- Added default vertex "goal" value + button, to be assigned when no
  vertexgroup exists (or vertex isn't in the group)
- Made softmin and softmax work as documented (defining min and max range)
- made changes in buttons send 'update' signal to softbody

And:

- added Nkey Properties to show lattice coordinates
2005-04-02 19:52:32 +00:00
d4de0b5dec - fix for drawing of hidden edges in editmode (w/ optimal off)
kinda hacky because it is in derivedmesh implementation not drawing
   logic where I would prefer it to be.
2005-04-02 18:37:18 +00:00
0d78b56c5b - mesh was drawing edges underneath selected edges in optimal mode,
waste of time!
 - made solid face drawing respect hidden faces
 - made selection work for hidden face drawing when select visible is on
2005-04-02 18:21:50 +00:00
88ea754045 Added signal OB_SB_REDO for ob->softflag to force a recalc.
Now used after weight painting, so it updates immediately.
2005-04-02 15:55:15 +00:00
24c9f65056 - got tired of str[n]casecmp not declared warnings
- added BLI_str[n]casecmp, use instead of regular versions
 - rewrote BLI_str[n]casecmp to not be stupid
2005-04-02 15:36:57 +00:00
bdb86d7c67 Integration stage of Softbody project
User level notes are in Wiki here;
http://wiki.blender.org/bin/view.pl/Blenderdev/Softbodies
And will be added in blender3d.org CMS later.

Tech level notes are still pending, but here's the most relevant ones;

- made ob->soft struct SoftBody to hold all settings, and read/save in
  files
- added (temporal!) conversion for the old settings. So: read old files
  with softbody experiments now, and save over!
- cleaned API calls for softbody, which are only 5 of them now:
  sbNew()
  sbFree()
  sbObjectStep()          (animation steps)
  sbObjectToSoftbody()    (full re-initialize data)
  sbObjectReset()         (only reset motion)
- API calls accepts time in frames now, within softbody.c it converts

Further, internally code was cleaned some (missing tabs etc). Also tried
to keep a well defined structure with hints how to add support for more
objects. Can write notes about that...
2005-04-02 13:57:23 +00:00
b8e4f1d2aa - bug fix for old subsurf, crash when using meshes with free vertices 2005-04-01 19:51:28 +00:00
e2d8df3e78 - part of creasing changes 2005-04-01 03:02:13 +00:00
1065f9d6ed - apply spike crease bug fix to ccgsubsurf 2005-04-01 02:52:55 +00:00
4ef0170bfa - take out compile time conditional behavior of creasing for ccg
subsurf (always on)
 - bug fix, creasing wasn't evaluated properly after incremental change
2005-04-01 02:07:34 +00:00
bb29f12924 - potential fix for crash on amd64 2005-03-31 17:15:44 +00:00
9259ff35a4 - switch to drawing aging in and out of optimal mode
- switch to not using arena allocator in editmode for ccgsubsurf (memory
   doesn't get freed during incremental)
2005-03-31 16:54:47 +00:00
1ed8f77f6b - disable overriding color (to show aging) during selection drawing 2005-03-31 16:16:22 +00:00
cfbab6f6a4 - fix warnings for gcc
- some subsurf settings not correctly changed in editmode
2005-03-31 16:08:29 +00:00
9c91e1a954 - adapt caching check for G.editMesh->derived 2005-03-31 15:55:31 +00:00
f0a8a93292 - removed USE_CCGSUBSURF define (always on now)
- added G.editMesh->derived pointer... idea is to use this
   for mesh derived from editmesh instead of Mesh->derived (as the
   derived mesh tends to vary depending on what it came from).

   This part could be cleaner, also there may problems with it not
   being invalidated correctly.

 - And most importantly: In case people were beginning to worry all
   these edits were just crazy zr stuff, the big point comes about:
   Incremental subsurf calculation is now enabled. This gives massive
   speed improvements when editing a large mesh.

   For the eye-candy happy: try setting G.rt==52 before entering editmode
   and the edges and vertices (in optimal mode) will switch to displaying
   visually the age since a region has last been calculated. Lots of
   fun!
2005-03-31 15:44:05 +00:00
0d35a1dd1e - fix some signed/unsigned comparison warnings 2005-03-31 15:15:12 +00:00
84ccd0dcde - zero derived and decimated pointers on copy 2005-03-30 18:06:42 +00:00
cc4320e790 - added dlm->medge for displistmesh_from_mesh 2005-03-30 17:40:51 +00:00
489b38fa40 - Claims of speed improvement last night were slightly
overrated. Turns out there was a bug in recalc code where
   in editmode mesh was getting reevaluated all the time (because
   ob->disp doesn't get built in editmode). This should fix.
 - Fix some normal calculation/backwards face drawing
2005-03-30 17:32:23 +00:00