Campbell Barton
72369c638d
Cleanup: python doc-strings
...
Indentation & trailing space.
2018-11-14 09:05:07 +11:00
Brecht Van Lommel
e65784a051
Python API: add loop triangles access, remove tessfaces.
...
Loop triangles are tessellated triangles create from polygons, for renderers
or exporters that need to match Blender's polygon tesselation exactly. These
are a read-only runtime cache.
Tessfaces are a legacy data structure from before Blender supported n-gons,
and were already mostly removed from the C code.
Details on porting code to loop triangles is in the release notes.
Differential Revision: https://developer.blender.org/D3539
2018-10-10 17:43:44 +02:00
mano-wii
cf03658adb
Fix misuse of Py_INCREF in module creation.
...
Differential Revision: https://developer.blender.org/D3697
2018-10-08 20:01:55 -03:00
Campbell Barton
76d67b4db4
Merge branch 'master' into blender2.8
2018-09-13 17:08:58 +10:00
Campbell Barton
44f719b632
Cleanup: use PyImport_GetModuleDict
...
Replace direct access using PyThreadState_GET
2018-09-13 17:06:07 +10:00
Campbell Barton
bdbf4471a6
TexFace removal part 3
...
- MTexPoly structure & layer type.
- The 'Mesh.uv_textures' layers.
- DerivedMesh TexFace drawing.
- Scripts & UI.
2017-05-25 15:19:58 +10:00
Campbell Barton
cca57bf04c
PyAPI: Use module names on initializaton
...
No need to re-convert from C strings to PyUnicode.
2016-07-14 15:51:56 +10:00
Campbell Barton
0a026033ae
BMesh: make toolflags optional
...
Saves 8 bytes per vert/edge/face.
Gives overall ~20-25% memory saving for dyntopo sculpting
and modifiers that use BMesh.
2016-07-01 19:29:22 +10:00
Campbell Barton
cff288cf3a
Use PyC_ParseBool to parse bools
...
This could cause problems since they could be any int,
then passed directly to internal functions that assume bools.
2015-08-04 18:49:42 +10:00
Tamito Kajiyama
dbee634572
Fix typos.
2015-05-04 01:53:34 +09:00
Campbell Barton
75212f4677
BMesh Py API: add bmesh.geometry.intersect_face_point()
...
patch originally by mont29 with some edits.
2013-12-06 21:15:56 +11:00
Campbell Barton
c0c9f5386b
fix [ #35507 ] BMesh module: Crash on to_mesh() if faces.layers.tex is used but no loops.layers.uv
2013-06-26 04:17:41 +00:00
Campbell Barton
6da961775f
code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-04-13 20:31:52 +00:00
Campbell Barton
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
Campbell Barton
daa2a0d1c3
use keyword args for bmesh.update_edit_mesh(...)
2012-12-27 07:27:28 +00:00
Campbell Barton
d5c2a1f8f4
remove context argument from EDBM_update_generic()
2012-12-12 15:22:54 +00:00
Campbell Barton
3e8b56b321
add destructive argument to bmesh.update_edit_mesh()
2012-12-12 06:57:41 +00:00
Campbell Barton
61da29996a
fix own mistake with recent commit to skip calculating tessface. If you were already in editmode the tessfaces wouldn't get recalculated.
...
also minor edits to bmesh rst.
2012-12-03 02:26:13 +00:00
Campbell Barton
858149d7c7
bmesh py api: add bmesh.update_edit_mode(), there was no way to redraw the 3d view or re-calculate face tessellation from python.
...
add py template for editing meshes in editmode.
also remove double call to CTX_wm_region which does a string lookup.
2012-11-29 05:02:06 +00:00
Campbell Barton
ee96cde864
style cleanup: whitespace
2012-08-26 11:35:43 +00:00
Bastien Montagne
558721ab59
More spell checking.
2012-07-04 15:04:38 +00:00
Campbell Barton
3e99ec8d3d
all bmesh operators can now be accessed from bmesh.ops.* using a generic wrapper,
...
argument parsing still needs to have support added for vector, matrix and element types.
2012-06-30 11:14:10 +00:00
Campbell Barton
3e305c1018
bmesh.ops module for bmesh operator access, only remove_doubles and convex_hull at the moment.
2012-06-26 21:40:01 +00:00
Campbell Barton
6520aa97a9
add 'idprop' module so we can document idprop.types.*, currently doc generator has no access to ID Property types.
2012-04-15 14:54:15 +00:00
Campbell Barton
3c11379e26
code cleanup: move bmesh inline funcs to headers (avoids compiling the C files).
2012-03-24 01:24:58 +00:00
Campbell Barton
29831ca087
bmesh py api:
...
added per loop UV layer access
2012-03-17 06:40:44 +00:00
Campbell Barton
70d3d1aca6
style cleanup: py/capi
2012-03-16 21:39:56 +00:00
Campbell Barton
ebec111618
bmesh py api:
...
Wrap customdata, so far you can access the data layers in a pythonic way but not manipulate the customdata yet.
provides dictionary like access to customdata layers, eg:
texpoly = bm.faces.tex["UVMap"]
print(bm.verts.shape.keys()) # un-intended pun, keys() works on all layers.
print("MyInt" in bm.edges.int) # __contains__
layer = bm.faces.get("CheckForLayer")
2012-03-16 05:03:13 +00:00
Campbell Barton
6ed9c58a3d
prepare for adding bmesh py api for customdata layer access - no functional changes.
2012-03-15 06:08:27 +00:00
Campbell Barton
2fbb5ce833
bmesh py api: more comprehensive intro page, also fix some spelling errors.
2012-03-13 06:22:43 +00:00
Campbell Barton
b330abc290
remove Object member from BMesh struct - was only used for undo and BMEditMesh already stores an object pointer.
...
also fix for own mistake with mesh conversion refactor, shape key index was off by 1 when switching editmode.
2012-03-11 19:58:56 +00:00
Campbell Barton
7fa7e4ba1f
bmesh python api additions:
...
- BMesh.is_wrapped
- BMesh.copy()
- BMesh.clear()
- BMesh.free()
- BMesh.from_object(obj, apply_modifiers=True)
- BMEdge.calc_length()
- BMLoop.calc_normal()
- BMLoop.calc_tangent()
2012-03-11 05:58:22 +00:00
Campbell Barton
050439fd9d
bmesh py api - correct class references in docs and rename mesh conversion funcs to ne less confusing.
2012-03-11 04:07:22 +00:00
Campbell Barton
21fd09c028
bmesh py api: change .from_mesh() / .to_mesh() to be class methods of BMesh rather than functions in the module.
...
added example script which converts a mesh to a bmesh, edits and converts back again.
2012-03-11 02:45:27 +00:00
Campbell Barton
e09ab8883c
bmesh:
...
- moved mesh conversion functions into their own file.
bmesh py api:
- can now create a new empty bmesh without first creating mesh data.
- added function to copy bmesh data back to a mesh.
- bmesh.from_mesh() can now get a mesh which isnt in editmode.
2012-03-10 20:41:19 +00:00
Campbell Barton
4dc35836ad
code cleanup: remove unused variable assignents and added bmesh submodule links, doc correction reported by dfelinto.
2012-03-09 21:23:15 +00:00
Campbell Barton
34db81a6dc
fix for missing NULL check in bmesh.from_mesh(), bug [ #30446 ]
2012-03-04 11:10:11 +00:00
Campbell Barton
17ee9f77c5
bmesh py api - initial support for selection history.
2012-02-29 14:05:03 +00:00
Campbell Barton
b9b0c3dfb4
bmesh python api - add/improve rst docstrings.
2012-02-24 04:59:13 +00:00
Campbell Barton
0dc50a0e07
bmesh py api, new submodules
...
* bmesh.types, just allows access to BMVert, BMEdge etc.
* bmesh.utils, so far only added edge_split() function, this module will give access to mesh editing functions.
2012-02-23 05:20:09 +00:00
Campbell Barton
e0a6d273d0
bmesh py api - generalize bmesg sequences to use the iterator type and optionally another bmesh element.
...
This allows BMFace.verts to be added without defining a new sequence type.
2012-02-22 10:41:07 +00:00
Campbell Barton
e7d98179ea
initial bmesh python api.
...
corrently allows to create and loop over verts/edges/faces, access selection and selection modes.
this is still WIP, access to face, edge verts is still missing, no access to UV's, no access to editing operations yet.
When the api is ready it will be documented by sphinx like mathutils, blf, aud.
2012-02-22 09:19:53 +00:00