Commit Graph

155 Commits

Author SHA1 Message Date
27e812d697 Clear some compiler warnings by commenting some functions, adding others to headers.
left in warnings where functions obviously need to get ported to 2.5x still.

Also, render stamp seq strip works again.
2011-02-17 22:34:41 +00:00
3e8ddef8e5 move validation into blender kernel so it can be called by internal modifier funcs more easily. 2011-02-09 02:28:11 +00:00
fdf60ba4a6 mesh validation function to report errors and help debug bad data generated by modifiers.
detects...
- invalid vertex range for edges/faces
- duplicate indices in edge/face
- duplicate edges/faces in mesh
- missing edges data in faces

At the moment it doesn't correct errors, but eventually it will do this.
2011-02-09 01:27:46 +00:00
0d8416acc7 minor edits, no functional changes.
- BGE was getting MCol array and not using it.
- use list lookup functions for getting constraint from pose bone.
- use const char * in more places.
2011-02-07 22:48:23 +00:00
57a3cff3b8 patch [#25440] Object.vertex_group fixin'
from Dan Eicher (dna) 

 From the tracker (with minor edits)
========================

cube = bpy.data.objects['Cube']
foo = cube.vertex_groups.new('foo')
foo.add([1,3,5,7], 1.0, 'ADD')

for i in range(len(cube.data.vertices)):
    try:
        weight = foo.weight(i)
        print('vert: %i weight: %f' % (i, weight))
    except:
        pass

foo.remove([1,3])

cube.vertex_groups.remove(foo)
2011-01-07 09:50:23 +00:00
ff3200d4d5 Edge slide works again, some small issues may remain though. 2010-12-23 02:14:03 +00:00
fa4bbbb249 Maintenance,
- remove some redundant declarations
- changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-12-04 13:00:28 +00:00
51dcbdde03 use 'const char *' by default with RNA functions except when the value is flagged as PROP_THICK_WRAP.
Also use const char in many other parts of blenders code.

Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-11-17 09:45:45 +00:00
6b767b8018 fix [#24499] Consistency Issue with LassoSelect/ExtendOption
Added extend option to lasso. 

also...
- selecting bones wasn't checking their layer of if they were hidden in a number of places.
- fixed memory leak.

small unrealed changes
- added PBONE_VISIBLE macro
- renamed functions used for paint selectoin from *_tface to paintface_*. sine they no longer have anything todo with tface's.
- removed scanfill include from BLI_blenlib.h, this is only used in very few places and quite specific.


Noticed lasso select is broken for metaballs and face mask mode but this has been the case for a while, will look into it next.
2010-11-03 01:56:02 +00:00
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
d058a9c8c3 bugfix [#23150] Creating Vertex with CTRL-LMB not snapping
- Added EM_project_snap_verts so other functions can re-use this, similar to old retopo_do_all().
- Changed how the normal for selected geometry is calculated, was accumulating half selected edge's into normals which was OK with even surrounding geometry but could skew too easily if the surroundings were not so even. Now use the 2D screen space selected edge vector to calculate the normals in relation to the target mouse position.
- Option to rotate initial selection, gives better results in some cases. (Ctrl+Shift+Click to disable)
http://wiki.blender.org/index.php/File:ClickExtrudeFix.png
2010-10-13 07:43:39 +00:00
Nathan Letwory
82209cdc86 Reorganisation of COLLADA import code. Classes have been split into their own files.
No functional changes.

Where necessary extern "C" {} blocks have been added.
2010-10-05 00:05:14 +00:00
82432d0d99 merge from trunk at r31523 2010-09-07 05:47:34 +00:00
bb7339a7ae merge with trunk at r31523 2010-09-04 05:31:25 +00:00
50bce31dbb rna api changes
- mesh.add_geometry(v, e, f)  --> mesh.vertices.add(tot), mesh.edges.add(tot), mesh.faces.add(tot)
- mesh.add_material(mat) --> mesh.materials.link(mat)

changed material.link so it always adds a material even if it exists in the list, this behavior is good for users but not scripts since it can mess up indicies (some formats may have the same material set twice).
2010-08-26 22:44:05 +00:00
f6c323aa42 - move more active properties into their collections:
scene.active_keying_set --> scene.keying_sets.active
  ...same for active_uv_texture. active_vertex_color, active_keyconfig, 

- move mesh.add_uv_layer() and mesh.add_vertex_color() into their collections
  also have them return the newly created layer and dont set the layer active.

  uvtex = mesh.uv_layers.new(name)
  vcol = mesh.vertex_colors.new(name)
2010-08-23 22:16:45 +00:00
c11c196efa part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :) 2010-07-19 04:44:37 +00:00
a37bcf93ef wip commit; DO NOT USE. almost done with phase 1 of this restructuring, basically just some things that needed to be done before trunk (and some things that needed to be started, but can be finished much later). 2010-07-14 22:06:10 +00:00
2910d75f2c svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27875:27895 2010-03-31 07:22:18 +00:00
42ac4a3e7d Fix syntax for ID keyword. 2010-03-21 01:14:04 +00:00
Ken Hughes
388e08af62 BMesh branch
------------
Correct problems with edgetag_context_set(), edgetag_shortest_path(),
minmax_tface(); parameters were missing or of incorrect type.

Joseph: please review these changes.
2010-03-11 19:14:35 +00:00
d6158a4019 brought back x-mirror editing, though it's currently buggy. also made tesselation face normals writable to disk. 2010-03-11 05:30:01 +00:00
71003b9bcc merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though further work may be needed because changes made by the merge 2010-03-09 04:32:40 +00:00
57baa94631 fix for warnings, add back pose relax into the pose menu. 2010-02-25 15:10:27 +00:00
c72ab0a39e topology based mirror, (from apricot branch)
- correct errors with non-mirrored meshes
- mirror weight paint on asymmetrical meshes
2010-02-17 19:50:42 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
f22104542b copy vgroups to selected objects as long as they have aligned arrays.
access in the vertex group panel menu.
2010-02-09 22:00:19 +00:00
29377db3f1 [#19872] Mesh edit missing undo push for mode changing
copy the editmesh select mode back to the scene on undo.
2010-01-30 16:09:56 +00:00
20fac2eca7 The Death Of Editmesh - Part 1
I've removed editmesh altogether (other then scanfill, which is
seperate code that happens to reuse the editmesh structures).
The compatibility layer I had written for old editmesh tools
was more trouble then it was worth, though it did help in the 
early stages of this project.

There's a fair amount of breakage, and there's bunches of tools
(mostly minor ones) I need to port over still.  Biggest ones are
join triangles and loop to region, and spin/screw.

This probably isn't really testable, I'll hopefully have more
work done on this soon, but might not be before next week.
2010-01-28 00:45:30 +00:00
246bcf48ad weight panel editing now supports mirroring
- use mirror when the option is enabled in editmode.
- fliped group names are used when they exist.
- only the setting that is edited will be applied to the mirrored verts group.
- copy value is applied to all mirrored verts of the selection.
- normalize normalizes all vgroups and mirrors.

utility functions defvert_sync and defvert_sync_mapped, similar to defvert_copy but does not remove existing groups and optionally creates groups as needed.
defvert_sync_mapped uses a an int array for mapping the flipped values.
2010-01-26 17:07:47 +00:00
33623ba3a3 panel for adjusting the active vertex groups weights 2010-01-25 23:12:02 +00:00
67ff197cb1 Merge with trunk/2.5 at r25563
Most likely will not compile for others, I'd appreciate any build errors
and missing files reports (I can never seem to get everything committed
and all the build systems working without help).

Porting over the sculpt/multires tools was a breeze,
thanks goes to brecht for a design that didn't exclude
ngons and was easy to port.

Note that I've not tested externally-backed multires
file support yet.  Also, I still need to write version
patch code for some cases.

Some notes:

* Like trunk, topological changes don't update multires right,
  so e.g. subdivide will duplicate multires data on the new faces,
  instead of subdividing it.
* If you set the debug value (ctrl-alt-d) to 1 it'll turn on
  my experiments in speeding up sculpting on higher-res multires
  meshes (but note it makes partial redraw not completely accurate).
* There's a bug where you have to go through editmode to get out
  of sculpt mode, not sure if I inherited or created this myself.
2010-01-05 22:33:41 +00:00
57cd505d3f bake is now modal like render and updates the image view while baking.
it also has an exec function which doesnt update (like render too)
2009-12-30 14:37:25 +00:00
010e3fccb2 bake operator and UI, no feedback while baking yet 2009-12-29 18:55:38 +00:00
d74bbcdd85 select nth (face/edge/vertex) - depending on which was last selected, useful for colapsing every other edge for eg. 2009-12-22 19:01:51 +00:00
9633d198fb solidify from 2.4x (ported from python to C)
- shell_angle_to_dist() was using degrees
2009-12-14 23:35:13 +00:00
cd154da973 1. Extend option for 3d view border select now does something (default True to keep same behavior)
2. Add action parameter to Select_All_Toggle operators, rename to Select_All.
Options are Toggle (default), Select, Deselect, Invert (same as select swap). This makes it possible to map separate hotkeys for select all and deselect all.

NOTE for Aligorith: I didn't change animation operators for select_all which already had an Invert operator. These should be fixed eventually.
2009-11-29 22:16:29 +00:00
aa3ed47848 * New tool - Join as Shapes
Available in object mode (Object -> Join as Shapes), only works for meshes at 
the present. Will merge all selected objects as shape keys on the active object, 
if the vertex count is the same.

This does not keep references to the external objects like in some applications, 
rather it's a quick way to update the shapes on the active object (perhaps after 
importing new versions from external applications).
2009-11-28 04:04:01 +00:00
4dd78dcbdf Made select operator return FINISHED only when it did something (only PASSTHROUGH otherwise) 2009-11-24 04:59:52 +00:00
2ead17843c merge with trunk/2.5 at r24378 2009-11-07 23:10:18 +00:00
b3c8935b06 - Shift+F1 is append in 2.4x (not link). Lee asked it to be made the same.
- use OBJECT_OT_mode_set rather then OBJECT_OT_*_toggle, better for using report output for script input. OBJECT_OT_posemode_toggle and OBJECT_OT_editmode_toggle are called by OBJECT_OT_mode_set.
2009-11-03 11:00:10 +00:00
2d0d4e7de4 commit before doing some hefty shapekey change, will break compilation 2009-11-01 00:06:53 +00:00
8f788c64db merge with trunk/2.5 at r23876
[[Split portion of a mixed commit.]]
2009-10-22 23:22:05 +00:00
e8af794441 face mask mode
- border select
- linked selection (Ctrl+L)
- select all
2009-10-22 19:17:46 +00:00
a407a21bfb added back face mask mouse selection and made shift+k fill weight paint and vertex color 2009-10-22 12:59:14 +00:00
9a00cc55c1 - editmesh select mirror (in editmode select menu)
- weight blending (Vertex specials menu), currently blends from surrounding unselected verts (nice for blending edge loops), but will eventually support face mask mode.
2009-10-20 16:31:03 +00:00
9f841f5b35 weight paint operators - normalize/clean/invert 2009-10-20 10:19:48 +00:00
4ef0ef1927 added mesh mirror flag, now store this per mesh
button in mesh interface
also dont register operators that change context
2009-10-14 14:28:05 +00:00
4063c230af fix for warnings, wkey menu wasnt registered 2009-10-13 07:39:08 +00:00
b5f820cd87 added rna api MVert,MFace & MEdge index properties
eg.
 for v in me.verts: print(v.index)

added calc_edges as an option eg.
  mesh.update(calc_edges=True)

This is needed when adding faces to an existing mesh which create new edges.
2009-10-12 19:34:58 +00:00