Commit Graph

6574 Commits

Author SHA1 Message Date
Nils Thuerey
0a63b3c0ca Several minor fixes:
- Added part of Austin's msvc8 fixes (vector::erase function
  was "misused"), hopefully compiles better now.
- Ctrl-b now also bakes a selected fluidsim domain
  similar to the softbodies.
- Added surface smoothing option for domains: default is
  1, higher values result in a smoother surface (and probably
  slightly higher comupation times), while 0 means the surface
  is not modified at all.
- Added BLENDER_ELBEEMBOBJABORT environment variable in readBobj,
  if >0 quits blender when a not yet existing fluidsim
  frame should be loaded. Useful for rendering simulations
  as far as possible from the command line.
- Surface normals pointer is now set to NULL in readfile.c
- Fixed win32 error string handling, now uses a function
  to return the string from the solver.
- Fixed fluidsim particle halo scaling problem.
- Solver update
2006-03-29 07:35:54 +00:00
Tom Musgrove
0d2902b1fe ==Directx 8 importer==
addition of a direct x importer by Ben Omari
2006-03-29 06:25:07 +00:00
Tom Musgrove
bb85e04a7e ==Directx 8 exporter update==
update to the direct x exporter by Ben Omari
2006-03-29 06:22:43 +00:00
Erwin Coumans
e8ce63fcf9 more physics work: fixed some deactivation bug, improved contact constraint stability and friction (lower the number of iterations). 2006-03-29 03:11:30 +00:00
Kent Mein
337928c97b I fixed some warnings about multiply defined yy_parse (etc) fuctions.
Did some small indentation fixes, and moved some variables so they
were declared at the top of the function blocks.

Kent
2006-03-28 20:56:58 +00:00
Erwin Coumans
6f974329ca disabled restitution in the new iterative contact constraint. 2006-03-28 20:55:44 +00:00
Erwin Coumans
7c68db9bb7 fixed scons build for moved and added file. 2006-03-28 20:18:14 +00:00
Campbell Barton
c72bd5fd00 Removed a bad return and and unused variable.
swappsed all // for /**/.
2006-03-28 03:20:10 +00:00
Ken Hughes
7c0deed11c Fix gcc warning about usage of identifier "main"; renamed the variable to
"mainptr".
2006-03-27 22:33:21 +00:00
Ken Hughes
95ae057983 Add structure declaration to beginning of file to fix gcc warnings. 2006-03-27 22:22:08 +00:00
Ken Hughes
ac31b20448 Move variable declaration to beginning of code block, to avoid compiler
warnings or errors.
2006-03-27 22:20:24 +00:00
Campbell Barton
2f09ff00ef Modified editmesh_mods.c
Added "Similar Edge Face Angles" to "Select Edge Groups"
This means you can select edges based on the angles of edges in the existing selection.
Only works for edges with 2 face users at the moment.
2006-03-27 21:35:31 +00:00
Kent Mein
abd9113fbf another couple of uninitalized variables get the axe.
This is only to make things predictable until that section of the
code is finished.  Ton said it'd be a good idea to drop in in for now.

Kent
2006-03-27 16:15:44 +00:00
Campbell Barton
04fc04bcdd Make editmesh edge length and face area drawing's precission proportonate to the gridsize.
Needed when working with small models.
2006-03-27 14:57:53 +00:00
Campbell Barton
d26f0e8995 needed to normalize the plane for the manipulator. 2006-03-27 08:52:28 +00:00
Campbell Barton
9053425e72 removed 2 warnings from Image.py epydocs 2006-03-27 08:34:06 +00:00
Campbell Barton
0e8e848588 Seperated out some functionality into 3 new functions.
EM_editselection_center
EM_editselection_normal
EM_editselection_plane
These functions are used by the manipulator to get data from an editselection. regardless of weather its a face/edge/vert.
2006-03-27 08:25:06 +00:00
Erwin Coumans
af9573e9ea Synchronized Bullet physics to latest version.
- Changed license from MIT to ZLib.
- Added 3D Sweep and Prune contribution
- More stable native constraint solver

Sorry for any inconvenience caused by this checkin.
All Blender buildsystems require update: added files and moved files.
2006-03-27 06:37:30 +00:00
Campbell Barton
75ce4ca859 Added rotate about centre for active Vert/Edge/Face in mesh editmode. also works for getting the V/E/F normal. Means we can now rotate about the last selected edge. 2006-03-27 05:28:36 +00:00
Geoffrey Bantle
7b1d69a35c -> Stored Selections
Previously Blender did not store the order in which vertices, edges
or faces were selected in edit mode. In many cases it is useful to
have this data, however it is not desirable to store every selection
made. Now blender stores selections in the order in which they were
made in a linked list called 'selected' in  EditMesh. EditSelection structs
are created whenever 'EM_store_selection' from  editmesh_lib.c is called
(currently only on user selection with mouse). There are several cases
in which they might be deallocated by calling the 'EM_remove_selection'
function however:

-When the user deselects something with the mouse ('mouse_mesh' in
 editmesh_mods.c)

-When switching selection modes stored selections that are not relevant
to the new mode are removed by the 'EM_strip_selections' function
(multi-select mode is supported)

-When the vertex, edge or face pointed to by a certain stored selection is
deallocated

-When EM_clear_flag_all is called and where the flag passed to the function
contains the 'SELECT' bitmask.

-When leaving edit mode (making stored selection data persistent across
editing sessions will require modifications to mesh DNA later)

Todo:

There are a few cases still where you can temporarily end up with a stored
selection that points to an element that is no longer selected
(edge loop de-select can cause this for instance). The solution to this is to
add a call to EM_remove_selection from 'EM_select_edge' and 'EM_select_face' when
these functions are being used to deselect elements. For the sake of completeness
however this will also require that an 'EM_select_vert' function be coded and
called at all appropriate parts of the editmesh code. I will look into this
later in the week.

For now there are two tools that already take advantage of the stored selections.
The first one is 'merge at first or last vertex' in the merge menu (the 'firstvert' and
'lastvert' pointers are gone from EditMesh). The second tool is path select, which builds
a path between the last vert selected and the second to last vert selected. This allows you
to build complex path selections in a short amount of time like this
'select A, select B, path select. select C, path select. select D...'
2006-03-27 05:19:14 +00:00
Martin Poirier
07b88496e0 === Transform Display ===
Based on a patch by Matthias Derer, this adds the distance moved to a translation (grab) transform
(both 3D and 2D, although the 2D transform displays the normalised distance only).
2006-03-26 22:35:03 +00:00
Tom Musgrove
f674689006 ==sequencer==
a tiny patch by Luis de Bethencourt Guimera (luisbg) adds RETKEY as completing a transform for consistency
2006-03-26 22:31:11 +00:00
Peter Schlaile
2dce179e9d ==Sequencer==
This patch is mostly a usability patch for the sequencer, mainly written by
Anders Gudmundson and twisted a little bit by me.

- Lock Time to other windows
- Possibility to switch the X-Axis between frames and seconds-display
- IPO-Frame Locking for plugins (T-Key)
- Additional Popup to add HD-Sound and Movie at once
- In Timeline-Window: Sequencer windows only playback
- Make the IPOs a little bit IPO-Frame-Lock friendlier (doesn't jump;
  the frame that is drawn has the right dimension)
- Wheel-Mouse buttons make the sequencer window zoom again.
- The "This is not a sound/movie-file message" now reads "... or
  FFMPEG-support not compiled in!" since I learned some prominent
  people who complained, that hdaudio does not work for them ;-)
- Make SPACEKEY open up the "Add Strip"-Popup on the timeline and start
  playback in the preview window.
2006-03-26 21:36:42 +00:00
Campbell Barton
915cd5b80b Added python image pack/unpack per image. 2006-03-26 09:25:30 +00:00
Campbell Barton
e2637de00f select group with large selections could make blender hang. break out of the loop when no more can be done. 2006-03-26 01:54:52 +00:00
Campbell Barton
05fb90a867 Made group work from multiple selection's (before it used the first selected face/vert/edge)
so you can select 2 faces and then get all coplaner faces around both.
Added fp to face and edge edit data so as to store edge length and face area/perimeter. (in the union so minimal overhead)
current implimentation is fairly optimized.

Change to arithb.c was just to command Inpf as being the dot producr.
2006-03-26 01:02:22 +00:00
Tom Musgrove
9fcf5f0957 ==paint==
change CKEY to toggle paint on or off in image paint patch by Stephan Kassemeyer
2006-03-25 22:29:48 +00:00
Campbell Barton
97fbe88dc1 Fixed a possible bug where counting faces was a short and could be less then the number of items selected.
Added Vertex group select menu- Similar Normal|Same FaceUsers|Shared Vertex Groups
2006-03-25 11:51:33 +00:00
Campbell Barton
ed36b797a0 Fixed a but where DupStart and DupEnd (duplivert settings) max values were larger then a short. which made the buttons act oddly.
Also added tooltips.

Idealy these would be unsigned shorts or ints because they should be able to go up to the max frame number 300000.
2006-03-25 10:06:40 +00:00
Campbell Barton
ec664be2d7 Added select group edges (Length/Direction/FaceUsers)
Added VecAngle2 - needed for grouping by normal and planer faces.
Made select face & edge group ignore hidden faces.
fixed a bug where hiding faces didnt update G.tot*sel
2006-03-25 06:32:39 +00:00
Campbell Barton
84d8b0cafe Added select group meny to mesh editmode.
Currently only works for faces.
Try Shift+G in face/editmode.
2006-03-25 04:37:40 +00:00
Ken Hughes
927be3725a Bugfix #3818: nmesh.insertKey() was not letting Ipo space know to
recalculate, causing a segfault when the curve was selected in the Ipo
window.  lattice.insertKey() has similar code.  Added calls to
allspace(REMAKEIPO,0) to correct this.
2006-03-24 21:56:29 +00:00
Ken Hughes
b174a988ae Bugfix #3772: Allows "Center Cursor" for 3D curves to modify the curve
center's Z location.  An eons-old comment in the code said:

/* Curves need to be 2d, never offset in
 * Z. Is a somewhat arbitrary restriction,
 * would probably be nice to remove. */

I couldn't find any other reason for the restriction other than 2D curves
limit the point's Z component to 0, so added a check to only forve the
center Z to 0 when the curve is 2D.  If there are other reasons for the
restriction, then this commit may need to be rolled back.
2006-03-24 20:39:38 +00:00
Kent Mein
97a4e4f88d a bunch of small warnings fixes:
newline missing at end of file fixes:
TypedConstraint.h WheelInfo.h RaycastVehicle.h VehicleRaycaster.h
CcdPhysicsEnvironment.cpp

radiance_hdr.c fixed the following warning by changing type of local variable:
radiance_hdr.c:357: warning: pointer targets in passing argument 3 of
‘fwritecol rs’ differ in signedness

edgeRender.c,edgeRender.h same thing changed type of local vars to get rid
of warnings about signedness

RAS_OpenGLRasterizer.cpp removed unused variable unit line 1295

Kent
2006-03-24 16:40:32 +00:00
Campbell Barton
21c9ee54ca blender -P xxx -b crashed sometimes, still will crash in some cases if the python functions access screen data. but at least Blender.sys.expandpath wont segfault anymore. 2006-03-24 16:04:55 +00:00
Campbell Barton
d29503cc6d Made blender python work in background mode without a blend file loading.
Blender.c python initialization creates a scene when in background mode and when there is no scene.
Needed to skip redrawing when in background mode because it depended on screen data that wasnt there.
2006-03-24 15:46:26 +00:00
Campbell Barton
7417d07482 Attempted to unify and document Dupli* stuff.
DupGroup
DupObjects
enableDupVerts
enableDupFrames
enableDupGroup
enableDupRot
enableDupNoSpeed

see the epydocs for documentation at http://members.iinet.net.au/~cpbarton/ideasman/BPY_API/Object.Object-class.html - will update in a tick.
2006-03-24 08:36:39 +00:00
Ken Hughes
4b2f0225bf Fix problem with possibly random calls to MEM_freeN() due to uninitialized
variable in NMesh.c
2006-03-23 23:54:48 +00:00
Kent Mein
391ae8f7ac Updated mallocn.c MEM_check_memory_integrity was casting
a string as an int and it was causing a warning.
I changed it to check to see if the string == 0
return 0 else return 1.

The only thing that called this function was memtest.c and it
had outdated code, so I fixed that...
        was calling MEM_set_error_stream updated to
                    MEM_set_error_callback

Kent
2006-03-23 17:45:40 +00:00
Campbell Barton
a837e1e8c0 oops, typo 2006-03-21 23:59:52 +00:00
Ken Hughes
e57ce8489b ===Python API===
Two small bugfixes:
   * Image.New() resets id.us to 0; it is set to 1 by new_image()
   * allow ima.depth and ima.size getters to propagate their own error
     messages (missing image was returning MemoryError)

Also, seems to me there's something funny going on with image id.us
accounting.  In do_image_buttons(), id.us is set whenever an image is
accessed vi the datablock menu:

        if(idtest!=id) {
            G.sima->image= (Image *)idtest;
            if(idtest->us==0) idtest->us= 1;
            allqueue(REDRAWIMAGE, 0);
        }

This is independent of whether a UV face is selected or not (and it also
seems that the number of UV faces linked to an image is not maintained
either).
2006-03-21 23:30:25 +00:00
Campbell Barton
742ba52072 Fix for a bug where python could save a sceneless blend file.
https://projects.blender.org/tracker/index.php?func=detail&aid=3902&group_id=9&atid=125
2006-03-21 22:30:29 +00:00
Campbell Barton
9cf9ce75af Fix for bug,
https://projects.blender.org/tracker/index.php?func=detail&aid=4021&group_id=9&atid=125
Raise an error instead of crash when python expandpath runs and no scene is loaded.
2006-03-21 22:16:41 +00:00
Ton Roosendaal
8383c44a85 Silly bug in using Compositor... the code that checked if a 3d rendering
was required (compositor can also be used with only image input) told
the pipeline not to render when no composite nodes were available at all,
and with button 'Use Nodes' on.
2006-03-21 11:29:03 +00:00
Ton Roosendaal
b746e27c82 Scene id->us user counter was always set to 1 on a file read, which did not
work for Composite nodes using a scene... when you delete such a node the
scene could get zero users then.

Now scenes count users correctly, and are initialized to 1 on the correct
place.
2006-03-20 20:52:04 +00:00
Andrea Weikert
a89905d6fa === MINGW compile ===
Fixing compile for Windows mingw builds with cygwin make and scons.
Used SHGetFolderPath instead of SHGetSpecialFolderPath which is
better supported for mingw.
Thanks to Ralf Hoelzemer for the tip and the patch.

Let me know if any problems persist, I'll try to fix then.

--- Andrea
2006-03-20 17:25:42 +00:00
Ton Roosendaal
e469e4875f Cineon/DPX export didn't survive when Blender gave it negative colors.
Was missing test for it before turning it into unsigned short.
2006-03-20 16:53:13 +00:00
Campbell Barton
99dbcaa2f1 Fixed an error in the help printout and set out the formats that are not supported on all os's. 2006-03-20 16:24:00 +00:00
Ken Hughes
4fcd19013b Fix various gcc warnings. 2006-03-19 20:45:50 +00:00
Ton Roosendaal
ee5d54c0fa Threshold for non-flat quad detection was too wide still. Causing errors
of quads filling in in octrees...
2006-03-19 20:14:16 +00:00