c69df6728a
Cleanup: use real-module for 'bmesh.ops'
...
Replace module-like object with Python module,
this simplifies checks for generating API docs and is more correct.
2020-10-09 12:11:00 +11:00
2d1cce8331
Cleanup: make format after SortedIncludes change
2020-03-19 09:33:58 +01:00
c128b30bd1
Edit Mesh: pass in Mesh instead of BMEditMesh to EDBM_update_generic
...
This avoids a list lookup in Main (recently added), passing in a mesh
instead of an edit-mesh, since the mesh links to the edit-mesh.
2020-01-07 22:14:36 +11:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
de13d0a80c
doxygen: add newline after \file
...
While \file doesn't need an argument, it can't have another doxy
command after it.
2019-02-18 08:22:12 +11:00
e0e6229176
Cleanup: rename Mesh.edit_btmesh -> edit_mesh
...
When bmesh was in a branch we had both edit_mesh and edit_btmesh,
now there is no reason to use this odd name.
2019-02-17 18:05:18 +11:00
eef4077f18
Cleanup: remove redundant doxygen \file argument
...
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
2019-02-06 15:45:22 +11:00
744f633986
Cleanup: trailing commas
...
Needed for clan-format not to wrap onto one line.
2019-02-03 14:59:11 +11:00
65ec7ec524
Cleanup: remove redundant, invalid info from headers
...
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
2019-02-02 01:36:28 +11:00
72369c638d
Cleanup: python doc-strings
...
Indentation & trailing space.
2018-11-14 09:05:07 +11:00
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
cf03658adb
Fix misuse of Py_INCREF in module creation.
...
Differential Revision: https://developer.blender.org/D3697
2018-10-08 20:01:55 -03:00
76d67b4db4
Merge branch 'master' into blender2.8
2018-09-13 17:08:58 +10:00
44f719b632
Cleanup: use PyImport_GetModuleDict
...
Replace direct access using PyThreadState_GET
2018-09-13 17:06:07 +10:00
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
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
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
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
dbee634572
Fix typos.
2015-05-04 01:53:34 +09:00
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
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
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
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
daa2a0d1c3
use keyword args for bmesh.update_edit_mesh(...)
2012-12-27 07:27:28 +00:00
d5c2a1f8f4
remove context argument from EDBM_update_generic()
2012-12-12 15:22:54 +00:00
3e8b56b321
add destructive argument to bmesh.update_edit_mesh()
2012-12-12 06:57:41 +00:00
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
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
ee96cde864
style cleanup: whitespace
2012-08-26 11:35:43 +00:00
558721ab59
More spell checking.
2012-07-04 15:04:38 +00:00
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
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
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
3c11379e26
code cleanup: move bmesh inline funcs to headers (avoids compiling the C files).
2012-03-24 01:24:58 +00:00
29831ca087
bmesh py api:
...
added per loop UV layer access
2012-03-17 06:40:44 +00:00
70d3d1aca6
style cleanup: py/capi
2012-03-16 21:39:56 +00:00
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
6ed9c58a3d
prepare for adding bmesh py api for customdata layer access - no functional changes.
2012-03-15 06:08:27 +00:00
2fbb5ce833
bmesh py api: more comprehensive intro page, also fix some spelling errors.
2012-03-13 06:22:43 +00:00
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
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
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
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
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
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
34db81a6dc
fix for missing NULL check in bmesh.from_mesh(), bug [ #30446 ]
2012-03-04 11:10:11 +00:00
17ee9f77c5
bmesh py api - initial support for selection history.
2012-02-29 14:05:03 +00:00
b9b0c3dfb4
bmesh python api - add/improve rst docstrings.
2012-02-24 04:59:13 +00:00
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
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