Commit Graph

409 Commits

Author SHA1 Message Date
Jens Ole Wund
84359bf996 im going to dig a hole to hide in
beginners standard typo did break particles
2005-04-13 12:18:58 +00:00
Jens Ole Wund
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
Jens Ole Wund
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
Ton Roosendaal
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
Daniel Dunbar
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
Daniel Dunbar
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
Jens Ole Wund
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
Jens Ole Wund
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
Kent Mein
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
Ton Roosendaal
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
Daniel Dunbar
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
Daniel Dunbar
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
Daniel Dunbar
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
Daniel Dunbar
876d8ef7b5 - removed subsurf.c from SConscript 2005-04-04 04:21:01 +00:00
Daniel Dunbar
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
Daniel Dunbar
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
Daniel Dunbar
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
Daniel Dunbar
7b0a661413 - sorry, forgot to save before commit, part of vertex normal fix 2005-04-03 22:02:03 +00:00
Daniel Dunbar
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
Ton Roosendaal
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
Ton Roosendaal
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
Ton Roosendaal
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
Ton Roosendaal
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
Daniel Dunbar
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
Daniel Dunbar
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
Ton Roosendaal
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
Daniel Dunbar
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
Ton Roosendaal
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
Daniel Dunbar
b8e4f1d2aa - bug fix for old subsurf, crash when using meshes with free vertices 2005-04-01 19:51:28 +00:00
Daniel Dunbar
e2d8df3e78 - part of creasing changes 2005-04-01 03:02:13 +00:00
Daniel Dunbar
1065f9d6ed - apply spike crease bug fix to ccgsubsurf 2005-04-01 02:52:55 +00:00
Daniel Dunbar
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
Daniel Dunbar
bb29f12924 - potential fix for crash on amd64 2005-03-31 17:15:44 +00:00
Daniel Dunbar
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
Daniel Dunbar
1ed8f77f6b - disable overriding color (to show aging) during selection drawing 2005-03-31 16:16:22 +00:00
Daniel Dunbar
cfbab6f6a4 - fix warnings for gcc
- some subsurf settings not correctly changed in editmode
2005-03-31 16:08:29 +00:00
Daniel Dunbar
9c91e1a954 - adapt caching check for G.editMesh->derived 2005-03-31 15:55:31 +00:00
Daniel Dunbar
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
Daniel Dunbar
0d35a1dd1e - fix some signed/unsigned comparison warnings 2005-03-31 15:15:12 +00:00
Daniel Dunbar
84ccd0dcde - zero derived and decimated pointers on copy 2005-03-30 18:06:42 +00:00
Daniel Dunbar
cc4320e790 - added dlm->medge for displistmesh_from_mesh 2005-03-30 17:40:51 +00:00
Daniel Dunbar
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
Daniel Dunbar
fef6e0012e - initial commit of a real (as in not just copying the DispListMesh)
DerivedMesh implementation of CCGSubSurf. Only used in editmode at
   the moment, and does not draw smooth normals correctly.
 - Just in its own this brings a rather large speedup for editing
   subsurfs.
2005-03-30 08:12:27 +00:00
Daniel Dunbar
e5d1411283 - add editedge and editface for displistmesh_from_editmesh 2005-03-30 06:39:55 +00:00
Daniel Dunbar
f8248b23a7 - fix another minor use of wrong mface bug 2005-03-30 06:24:34 +00:00
Daniel Dunbar
347619f501 - fix silly bug in mesh DerivedMesh tex drawing func (only was drawing
first face.
 - change DerivedMesh callback prototypes to help eliminate errors
2005-03-30 05:57:40 +00:00
Daniel Dunbar
cfd90889e2 - made some DerivedMesh drawing functions more generic (take callback
to determine if element should be drawn and to set draw options),
   which meant some could be combined - eases implementation of new
   DerivedMesh types and keeps more app specific logic out of DerivedMesh
   implementations.
2005-03-30 00:32:10 +00:00
Daniel Dunbar
70687a2e84 - removed dlm->flag 2005-03-29 17:20:28 +00:00
Daniel Dunbar
03e364aba6 - remove free_displist_by_type
- free derived mesh on freedisplist_object... bit of a hack but
   just to be safe. oh dependency graph where are you!
2005-03-29 17:10:07 +00:00