Commit Graph

47594 Commits

Author SHA1 Message Date
Brecht Van Lommel
9bcdb4b758 2.5: various warning fixes. 2009-01-17 00:51:42 +00:00
Nicholas Bishop
de9495e519 Fixed a crash in sculptmode. Also replaced a degree sign with an underscore in view3d, not sure how that got in there. 2009-01-17 00:26:46 +00:00
Brecht Van Lommel
8777182952 RNA: forgot to rename some values in the keymaps in last commit. 2009-01-16 23:58:10 +00:00
Brecht Van Lommel
c1cf33c8aa RNA
* Added more compact property definitions, with a single function.
  Only used by operators at the moment, would need to tweak regular
  expressions a bit more to use it also for other RNA definitions.

* The operator properties defined now were completed a bit more but
  still have many issues that need to be adressed, specifically;

  * Some properties that should be booleans or enums are defined as
    ints, note that ints are only for numeric values, not bitflags
	or multiple choice.
  * Soft/hard limits and default values of many properties are not
    well defined still,
  * Inconsistent naming, especially for example mouse locations or
    bounds are named differently in different places. Also mouse
	locations and other vector like properties should become a single
	vector property instead of multiple X/Y properties.
  * Almost no properties have descriptions, these would be good to
    have for docs and tooltips.

So, please verify that the properties of the operators you wrote are
well defined.
2009-01-16 23:53:11 +00:00
Martin Poirier
16aa62e058 Command Gesture - Polygonize
New command option to turn continuous strokes into polylines.
2009-01-16 20:24:31 +00:00
Roland Hess
ef93f8a36e Added transform locking. Fixed a bad UI string. Added access to posing data. 2009-01-16 18:04:01 +00:00
Nicholas Bishop
8252daa40b Removed matrices from sculpt session and into the sculpt cache. 2009-01-16 16:55:40 +00:00
Shaul Kedem
e6b8687237 added ops for subdivide, subdiv multi, subdiv smooth, subdiv fractal 2009-01-16 04:48:33 +00:00
Nicholas Bishop
2a4682bff5 Fix sculpt memory leaks 2009-01-16 03:24:12 +00:00
Nicholas Bishop
ffeb60e1e5 Added a view3d function to read cached depth buffer, before was in sculpt.c where it didn't belong. 2009-01-16 01:56:11 +00:00
Michael Fox
087b8b104a 2.5
*****
 - ported BorderZoom , shift-b
	- currently disabled in camera view as to not conflict with setting render border
2009-01-16 00:58:33 +00:00
Nicholas Bishop
54fa55394b Added some temporary error prints for get_depth in sculpt 2009-01-16 00:44:46 +00:00
Nicholas Bishop
09683a7c7d Cleaning of the small part of sculpt still in blenkernel, more to come 2009-01-15 21:07:44 +00:00
Ton Roosendaal
2784d5b995 2.5
- Finished adding primitives in Mesh editmode. 
  For test pleasure: hotkeys CTRL 0-9 add them.

More fun for testers: 
 
- F3: gives menu of all registered ops. You can use
  it too, it then execs it again, and makes it the
  last executed operator.
  
- F4: executes last registered operator without menu.
2009-01-15 18:28:40 +00:00
Campbell Barton
c0ecbfce0e blender was crashing if no argument was given after '-t'
mesh.faces.deltete(...) with an empty list no longer returns an error.
2009-01-15 18:06:06 +00:00
Nicholas Bishop
2b96a86298 Brought back grab brush in sculpt mode, also removed old BrushAction struct. 2009-01-15 16:57:17 +00:00
Brecht Van Lommel
6e8645a6d1 RNA
* Attempt to fix CMake build on some systems were it could not
  find the rna_*_gen.c files, now it specifies full path.
2009-01-15 16:18:32 +00:00
Ton Roosendaal
004eacad0c 2.5
SHIFT+A add object back, no primitives in it though... later!
2009-01-15 16:07:39 +00:00
Ton Roosendaal
237cd7a7a7 2.5
- Depricated another bunch of globals; all the totobj,
  totmesh, totvert, and so on.
- All code that needs such totals now count it themselves,
  these stats were not supposed to be reliable
- Editmesh now stores and manages own totals.
- Todo: make a scene->stats that tracks notifiers.

Bugfix: selecting failed in editmesh, backbuffer stuff was
too late, already using index ranges before it was set.
2009-01-15 15:01:39 +00:00
Ton Roosendaal
c54cad0a32 2.5
Added new lib ed_uvedit in linking path for Makefiles
2009-01-15 10:55:48 +00:00
Michael Fox
890838dce8 2.5
*****

small commit, ported make dupli real
2009-01-15 10:02:45 +00:00
Brecht Van Lommel
c55f1b234c Tweak scons linking order priority to fix compile on windows. 2009-01-15 05:51:00 +00:00
Campbell Barton
ac91b159ae disallow identifiers with spaces 'cap end' wasn't working with the python api and made doc generation fail 2009-01-15 05:41:25 +00:00
Nicholas Bishop
4c17156c9e Brought back anchored mode for sculpt brushes. 2009-01-15 05:09:33 +00:00
Brecht Van Lommel
52135dd4fa 2.5: Space Image ported back
Organized as follows:

uvedit/
	uv editing related code
	uvedit_draw.c: drawing code
	uvedit_ops.c: operators, just a few done
	uvedit_unwrap_ops.c: will be operators for unwrapping
	uvedit_paramatrizer.c: lscm/abf/stretch/pack

space_image/
	space_image.c: registration and common getter/setters
	image_draw.c: drawing code, mostly functional
	image_panels.c: panels, all commented out
	image_render.c: render callbacks, non functional
	image_ops.c: operators, only view navigation done
	image_header.c: header, menus mostly done but missing buttons

Notes:
* Header menus consist only of Operator and RNA buttons, if they
  are not implemented they're displayed grayed out. Ideally the full
  header could work like this, but std_libbuttons looks problematic.

* Started using view2d code more than the old code, but for now it
  still does own view2d management due to some very specific
  requirements that the image window has. The drawing code however
  is more clear hopefully, it only uses view2d, and there is no
  switching between 'p' and 'f' view2d's anymore, it is always 'f'.

* In order to make uvedit operators more independent I move some
  image space settings to scene toolsettings, and the current image
  and its buffer is in the context. Especially sync selection and
  select mode belonged there anyway as this cannot work correct with
  different spaces having different settings anyway.

* Image paint is not back yet, did not want to put that together with
  uvedit because there's really no code sharing.. perhaps vertex paint,
  image paint and sculpt would be good to have in one module to share
  brush code, partial redraw, etc better.
2009-01-15 04:38:18 +00:00
Brecht Van Lommel
2213fa1c52 RNA
* Work around bScreen/Screen DNA name patching, so bScreen does not
  require manual callbacks to be written for properties.
* Added SpaceLink and SpaceImage RNA.
* Fix issue initializing ID property arrays with default values.

DNA
* Some DNA changes for space image.
* And a fix for corrupt clone image pointer in reading brushes.
2009-01-15 04:22:23 +00:00
Brecht Van Lommel
f08032e8f9 UI: various changes
* View2D to region now returns ints instead of shorts.
* Use "Numpad" instead of "Pad" in automatic keymap menu info.
* Menus can now use buttons other than BUTM and SEPR, in
  particular TOG and ROW are now supported instead of flipping
  bits manually.
* Added a simpler uiDefMenu* api for making menus now, and it
  only supports Operator and RNA buttons at the moment, will be
  used in next commit. Not sure how this will evolve .. makes
  menu code look cleaner anyways.
* Ensure that interface code doesn't crash when getting unknown
  Operators and RNA properties, and display their buttons grayed
  out in that case.
2009-01-15 04:13:38 +00:00
Roland Hess
ad50055610 Action Editor header menu structure ported, but menu items not yet linked up to functionality. Just wanted to get this committed in case I skid off a cliff in the snow tomorrow. 2009-01-15 03:12:21 +00:00
Nicholas Bishop
caa9e7b133 Brought back the layer brush in sculpt mode. 2009-01-15 03:10:01 +00:00
Shaul Kedem
18b1bc88f7 edit mesh primitives: ctrl+1 to ctrl+6. monkey does not show and tube,cone and cylinder show with problems 2009-01-15 03:05:19 +00:00
Nicholas Bishop
ba755e3265 Brought back symmetry for sculpt mode, also added RNA for sculpt flags. 2009-01-15 02:36:24 +00:00
Benoit Bolsee
509ca83ef1 BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value. 2009-01-14 22:33:39 +00:00
Ton Roosendaal
029bbb3489 2.5
Editmesh: add primitive basics back. Had to clean up a load of
crap there... but it's sorta in control, so I think Shul can
pick it up again.

Test: ctrl+0 adds plane, or ctrl+9 adds grid.

Notes for Shul:
- i've added a transform function, which gets correctly passed
  on to the add_prim function, should work for all object 
  transforms. Only the code inside add_prim might be needed
  to check (it uses 4x4 mat now, not a 3x3)

- The old code with buttons has been ifdeffed out, check for
  user input and make it rna properties, which get read
  in the exec(), and handed over to the add_prim. Set them
  default now to the values from old buttons.

- Operator naming is preferred lower case, I gave this
  a new name.

- check a bit on formatting code, but don't use the old code
  as example! Look also at ED_keymap_mesh() for example.
2009-01-14 19:26:11 +00:00
Nicholas Bishop
0d05b2c767 Added missing sculpt/brush RNA properties.
Also a few more tweaks to CMake/gcc warnings.
2009-01-14 18:48:16 +00:00
Nicholas Bishop
2ecb371950 Removed a second declaration for BLI_uniquename.
Also supressed cmake/gcc warnings about unused parameters since these are everywhere (sometimes with good reason, for callbacks)
2009-01-14 17:36:13 +00:00
Nicholas Bishop
8eb035f64f Fixed warnings in sculpt, also brought back brush curve. 2009-01-14 17:22:30 +00:00
Ton Roosendaal
fd37c07e28 2.5
Bugfix;
- do not set active base/object yourse, but use ED_base_object_activate
- view3d buttons was reading NULL pointer.
2009-01-14 16:54:36 +00:00
Ton Roosendaal
30e851b8a5 2.5
A small round of warning cleanups; unused variables, missing
headers and some const types.
2009-01-14 16:37:52 +00:00
Ton Roosendaal
9aec7aaf6c 2.5
GPencil code back!

Joshua will probably take this further. I've added XXX notes
where fixes are required. Also note that ED_gpencil.h has
all old exports, which is probably not needed, most can go
to gpencil_intern.h

Also added Makefile fixes for sculpt
2009-01-14 16:13:50 +00:00
Nicholas Bishop
3e756ca0a6 Moved some more sculpt data into operator properties, also the test brush is now properly created so you can edit its state in the RNA viewer. Added an RNA property for the brush sculpt tool as well. 2009-01-14 15:29:29 +00:00
Ton Roosendaal
126b9ca1a6 2.5
Hrmf; sconscript apparently can't do emtpy dirs!
2009-01-14 13:18:10 +00:00
Ton Roosendaal
b4df27c50d 2.5
Still old editNurb here... last part
(I committed in parts, have gpencil restored here and can't 
commit that yet!)
2009-01-14 13:06:09 +00:00
Ton Roosendaal
3b56ee7880 2.5
Still old editNurb here...
2009-01-14 13:05:10 +00:00
Ton Roosendaal
efc4ccc974 2.5
Still some old editNurb here...
2009-01-14 13:04:48 +00:00
Ton Roosendaal
ea2d6fe0d0 2.5
Another one back: editcurve.c

- removed global editNurb everywhere
  (cu->editnurb now has listbase with edit data)
- also added 'active bpoint' and 'active nurb' in
  Curve struct
- editmode in/out works, mouse/border select works
2009-01-14 12:26:45 +00:00
Nicholas Bishop
07e85b265d Moved a couple more sculpt settings into operator properties, including shiftkey for flipping stroke direction in or out 2009-01-14 03:02:44 +00:00
Nicholas Bishop
9b1199d6a3 Noticed that sculpt was quite slow because of string lookups in RNA, so added a separate sculpt stroke cache for some values that usually aren't even changed except at stroke initialization. 2009-01-13 23:21:05 +00:00
Benoit Bolsee
00c12e0906 BGE patch: dynamically update the coumpound parent shape when parenting to a compound object.
This patch modifies the way the setParent actuator and KX_GameObject::setParent() function
works when parenting to a compound object: the collision shape of the object being parented
is dynamically added to the coumpound shape. 
Similarly, unparenting an object from a compound object will cause the child collision shape
to be dynamically removed from the parent shape provided that is was previously added with 
setParent.

Note: * This also works if the object is parented to a child of a compound object: the
        collision shape is added to the compound shape of the top parent.
      * The collision shape is added with the transformation (position, scale and orientation)
        it had at the time of the parenting.
      * The child shape is rigidly attached to the compound shape, the transformation is not
        affected by any further change in position/scale/orientation of the child object.
      * While the child shape is added to the compound shape, the child object is removed from
        the dynamic world to avoid superposition of shapes (one for the object itself and
        one for the compound child shape). This means that collision sensors on the child
        object are disabled while the child object is parent to a compound object.
      * There is no difference when setParent is used on a non-compound object: the child
        object is automatically changed to a static ghost object to avoid bad interaction
        with the parent shape; collision sensors on the child object continue to be active
        while the object is parented.
      * The child shape dynamically added to a compound shape modifies the inertia of the
        compound object but not the mass. It participates to collision detection as any other
        "static" child shape.
2009-01-13 22:59:18 +00:00
Nathan Letwory
0162ded15a 2.5 / Keymap definition
* For some reason builds on Windows would crash when tabbing into edit mode with default .b.blend
  Problem is that it is not very clear why it happens. The debug trace I managed to get pointed at
  SCRIPT_OT_run_pyfile being run when pressing TAB.
  Changing the way how this quickhack for running scripts is added made the crash go away, but this
  points at a potential problem in the creation of keymaps. The original form is the plenty used:
  
  RNA_string_set(WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");

  But changing that to:

  km = WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0);
  RNA_string_set(km->ptr, "filename", "test.py");

  Properly prevents the execution of the script operator. It looks like somewhere
  something goes wrong, but no idea what, yet. Probably a good thing to investigate now!
  Apparently this doesn't happen on Linux (and probably not on OSX either).
2009-01-13 21:18:05 +00:00
Nicholas Bishop
a42f9163bf Now that modal sculpt does stuff, added exec code. For this, added new Stroke RNA. For now, it's just 3D brush location, but lots more will be added (e.g. tablet pressure)
Pressing f4 to redo a stroke now works as expected.
2009-01-13 20:50:07 +00:00