Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-09-09 09:11:02 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-09-10 07:35:04 +0300
commit20634fd433b07bbd90358a625792292e9581a0f6 (patch)
treeb6be45ddf341ce7d2dc8c85a67480e6815d4a6e6 /source/blender/editors/include
parent2b5d4d426a9b8483539d14b6e9ab90da262c2ecb (diff)
Tool System: use preselect highlight w/ poly-build
- Poly build now uses a new gizmo for pre-selection which has the same behavior as loop-cut. This replaces hack where mouse-move set the active element which was no longer working properly because of missing depsgraph updates. - Multi-object support for poly-build. - Support for deformed cage. - Fix error where changing active object wasn't properly refreshing the preselect gizmo (for loopcut too). Currently holding Alt to select non-boundary element's isn't working.
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r--source/blender/editors/include/ED_mesh.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h
index c084033bbb6..92338aa508f 100644
--- a/source/blender/editors/include/ED_mesh.h
+++ b/source/blender/editors/include/ED_mesh.h
@@ -52,6 +52,7 @@ struct Mesh;
struct UvVertMap;
struct UvMapVert;
struct BMEditMesh;
+struct BMElem;
struct BMesh;
struct BMVert;
struct BMLoop;
@@ -177,6 +178,14 @@ bool EDBM_unified_findnearest(
struct BMEdge **r_eed,
struct BMFace **r_efa);
+bool EDBM_unified_findnearest_from_raycast(
+ struct ViewContext *vc,
+ bool use_boundary,
+ struct Base **r_base,
+ struct BMVert **r_eve,
+ struct BMEdge **r_eed,
+ struct BMFace **r_efa);
+
bool EDBM_select_pick(struct bContext *C, const int mval[2], bool extend, bool deselect, bool toggle);
void EDBM_selectmode_set(struct BMEditMesh *em);
@@ -210,6 +219,16 @@ void EDBM_preselect_edgering_update_from_edge(
struct EditMesh_PreSelEdgeRing *psel,
struct BMesh *bm, struct BMEdge *eed_start, int previewlines, const float (*coords)[3]);
+/* editmesh_preselect_elem.c */
+struct EditMesh_PreSelElem;
+struct EditMesh_PreSelElem *EDBM_preselect_elem_create(void);
+void EDBM_preselect_elem_destroy(struct EditMesh_PreSelElem *psel);
+void EDBM_preselect_elem_clear(struct EditMesh_PreSelElem *psel);
+void EDBM_preselect_elem_draw(struct EditMesh_PreSelElem *psel, const float matrix[4][4]);
+void EDBM_preselect_elem_update_from_single(
+ struct EditMesh_PreSelElem *psel,
+ struct BMesh *bm, struct BMElem *ele, const float (*coords)[3]);
+
/* mesh_ops.c */
void ED_operatortypes_mesh(void);
void ED_operatormacros_mesh(void);