Blender V2.61 - r43446
|
#include "DNA_listBase.h"
#include "DNA_vec_types.h"
#include "DNA_key_types.h"
#include "BLI_pbvh.h"
Go to the source code of this file.
Classes | |
struct | SculptUndoNode |
Typedefs | |
typedef struct SculptUndoNode | SculptUndoNode |
Functions | |
void | sculptmode_selectbrush_menu (void) |
void | sculptmode_draw_mesh (int) |
void | sculpt_paint_brush (char clear) |
void | sculpt_stroke_draw (struct SculptStroke *) |
void | sculpt_radialcontrol_start (int mode) |
struct MultiresModifierData * | sculpt_multires_active (struct Scene *scene, struct Object *ob) |
struct Brush * | sculptmode_brush (void) |
void | sculpt (Sculpt *sd) |
int | sculpt_poll (struct bContext *C) |
void | sculpt_update_mesh_elements (struct Scene *scene, struct Sculpt *sd, struct Object *ob, int need_fmap) |
void | free_sculptsession_deformMats (struct SculptSession *ss) |
struct SculptStroke * | sculpt_stroke_new (const int max) |
void | sculpt_stroke_free (struct SculptStroke *) |
void | sculpt_stroke_add_point (struct SculptStroke *, const short x, const short y) |
void | sculpt_stroke_apply (struct Sculpt *sd, struct SculptStroke *) |
void | sculpt_stroke_apply_all (struct Sculpt *sd, struct SculptStroke *) |
int | sculpt_stroke_get_location (bContext *C, struct PaintStroke *stroke, float out[3], float mouse[2]) |
SculptUndoNode * | sculpt_undo_push_node (Object *ob, PBVHNode *node) |
SculptUndoNode * | sculpt_undo_get_node (PBVHNode *node) |
void | sculpt_undo_push_begin (const char *name) |
void | sculpt_undo_push_end (void) |
void | sculpt_vertcos_to_key (Object *ob, KeyBlock *kb, float(*vertCos)[3]) |
Definition in file sculpt_intern.h.
typedef struct SculptUndoNode SculptUndoNode |
void free_sculptsession_deformMats | ( | struct SculptSession * | ss | ) |
Definition at line 240 of file object.c.
References SculptSession::deform_cos, SculptSession::deform_imats, MEM_freeN(), NULL, and SculptSession::orig_cos.
void sculpt | ( | Sculpt * | sd | ) |
struct MultiresModifierData* sculpt_multires_active | ( | struct Scene * | scene, |
struct Object * | ob | ||
) | [read] |
Definition at line 105 of file sculpt.c.
References CD_MDISPS, CustomData_get_layer(), Object::data, eModifierMode_Realtime, eModifierType_Multires, Mesh::fdata, modifier_isEnabled(), modifiers_getVirtualModifierList(), ModifierData::next, NULL, and MultiresModifierData::sculptlvl.
Referenced by sculpt_modifiers_active(), sculpt_toggle_mode(), sculpt_undo_restore(), and sculpt_update_mesh_elements().
void sculpt_paint_brush | ( | char | clear | ) |
int sculpt_poll | ( | struct bContext * | C | ) |
Definition at line 2748 of file sculpt.c.
References paint_poll(), and sculpt_mode_poll().
Referenced by ED_keymap_paint(), SCULPT_OT_brush_stroke(), and sculpt_toggle_mode().
void sculpt_radialcontrol_start | ( | int | mode | ) |
void sculpt_stroke_add_point | ( | struct SculptStroke * | , |
const short | x, | ||
const short | y | ||
) |
void sculpt_stroke_apply | ( | struct Sculpt * | sd, |
struct SculptStroke * | |||
) |
void sculpt_stroke_apply_all | ( | struct Sculpt * | sd, |
struct SculptStroke * | |||
) |
void sculpt_stroke_draw | ( | struct SculptStroke * | ) |
void sculpt_stroke_free | ( | struct SculptStroke * | ) |
int sculpt_stroke_get_location | ( | bContext * | C, |
struct PaintStroke * | stroke, | ||
float | out[3], | ||
float | mouse[2] | ||
) |
Definition at line 3210 of file sculpt.c.
References add_v3_v3(), ViewContext::ar, BLI_pbvh_raycast(), SculptSession::cache, copy_v3_v3(), SculptRaycastData::dist, ED_view3d_win_to_segment_clip(), SculptRaycastData::hit, invert_m4_m4(), mul_m4_v3(), mul_v3_fl(), normalize_v3(), ViewContext::obact, Object::obmat, StrokeCache::original, SculptRaycastData::original, paint_stroke_view_context(), SculptSession::pbvh, SculptRaycastData::ray_normal, SculptRaycastData::ray_start, Object::sculpt, sculpt_raycast_cb(), sculpt_stroke_modifiers_check(), SculptRaycastData::ss, sub_v3_v3v3(), ViewContext::v3d, ARegion::winrct, rcti::xmin, and rcti::ymin.
Referenced by over_mesh(), sculpt_brush_stroke_exec(), sculpt_brush_stroke_invoke(), sculpt_get_brush_geometry(), and sculpt_update_cache_variants().
struct SculptStroke* sculpt_stroke_new | ( | const int | max | ) | [read] |
SculptUndoNode* sculpt_undo_get_node | ( | PBVHNode * | node | ) |
Definition at line 234 of file sculpt_undo.c.
References ListBase::first, SculptUndoNode::next, SculptUndoNode::node, NULL, UNDO_PAINT_MESH, and undo_paint_push_get_list().
Referenced by sculpt_raycast_cb(), sculpt_restore_mesh(), and sculpt_undo_push_node().
void sculpt_undo_push_begin | ( | const char * | name | ) |
Definition at line 323 of file sculpt_undo.c.
References sculpt_undo_free(), sculpt_undo_restore(), UNDO_PAINT_MESH, and undo_paint_push_begin().
Referenced by sculpt_stroke_test_start().
void sculpt_undo_push_end | ( | void | ) |
Definition at line 329 of file sculpt_undo.c.
References ListBase::first, SculptUndoNode::layer_disp, MEM_freeN(), SculptUndoNode::next, SculptUndoNode::no, NULL, UNDO_PAINT_MESH, undo_paint_push_end(), and undo_paint_push_get_list().
Referenced by sculpt_stroke_done().
SculptUndoNode* sculpt_undo_push_node | ( | Object * | ob, |
PBVHNode * | node | ||
) |
Definition at line 249 of file sculpt_undo.c.
References BLI_addtail(), BLI_lock_thread(), BLI_pbvh_node_get_grids(), BLI_pbvh_node_num_verts(), BLI_pbvh_vertex_iter_begin, BLI_pbvh_vertex_iter_end, BLI_strncpy(), BLI_unlock_thread(), SculptUndoNode::co, PBVHVertexIter::co, copy_v3_v3(), copy_v3_v3_short(), PBVHVertexIter::fno, SculptUndoNode::grids, SculptUndoNode::gridsize, PBVHVertexIter::i, Object::id, SculptUndoNode::idname, SculptUndoNode::index, SculptSession::kb, LOCK_CUSTOM1, SculptUndoNode::maxgrid, SculptUndoNode::maxvert, MEM_callocN(), MEM_mapallocN(), SculptSession::modifiers_active, KeyBlock::name, ID::name, SculptUndoNode::no, PBVHVertexIter::no, SculptUndoNode::node, normal_float_to_short_v3(), NULL, SculptUndoNode::orig_co, SculptSession::orig_cos, SculptSession::pbvh, PBVH_ITER_ALL, Object::sculpt, sculpt_undo_get_node(), SculptUndoNode::shapeName, SculptUndoNode::totgrid, SculptSession::totvert, SculptUndoNode::totvert, UNDO_PAINT_MESH, undo_paint_push_count_alloc(), undo_paint_push_get_list(), and PBVHVertexIter::vert_indices.
Referenced by calc_area_normal(), calc_area_normal_and_flatten_center(), calc_flatten_center(), do_brush_action(), do_grab_brush(), do_layer_brush(), do_rotate_brush(), do_thumb_brush(), and sculpt_combine_proxies().
void sculpt_update_mesh_elements | ( | struct Scene * | scene, |
struct Sculpt * | sd, | ||
struct Object * | ob, | ||
int | need_fmap | ||
) |
Definition at line 2681 of file sculpt.c.
References BLI_pbvh_apply_vertCos(), BLI_pbvh_isDeformed(), CD_MASK_BAREMESH, crazyspace_build_sculpt(), Object::data, SculptSession::deform_cos, SculptSession::deform_imats, SculptSession::face_normals, SculptSession::fmap, free_sculptsession_deformMats(), get_mesh(), DerivedMesh::getFaceMap, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getPBVH, invert_m3(), SculptSession::kb, key_to_vertcos(), MEM_freeN(), mesh_get_derived_final(), mesh_getVertexCos(), Mesh::mface, SculptSession::mface, SculptSession::modifiers_active, SculptSession::multires, Mesh::mvert, SculptSession::mvert, NULL, ob_get_keyblock(), SculptSession::orig_cos, SculptSession::pbvh, Object::sculpt, sculpt_modifiers_active(), sculpt_multires_active(), Mesh::totface, SculptSession::totface, Mesh::totvert, and SculptSession::totvert.
Referenced by sculpt_brush_stroke_init(), sculpt_init_session(), sculpt_stroke_modifiers_check(), and sculpt_undo_restore().
Definition at line 2260 of file sculpt.c.
References Key::block, MVert::co, copy_v3_v3(), Object::data, ListBase::first, Mesh::key, KEY_RELATIVE, key_to_vertcos(), MEM_freeN(), mesh_calc_normals(), Mesh::mface, Mesh::mvert, KeyBlock::next, NULL, offset_to_key(), Key::refkey, KeyBlock::relative, Object::shapenr, sub_v3_v3v3(), Mesh::totface, Mesh::totvert, Key::type, and vertcos_to_key().
Referenced by sculpt_flush_stroke_deform(), sculpt_undo_restore(), and sculpt_update_keyblock().
struct Brush* sculptmode_brush | ( | void | ) | [read] |
void sculptmode_draw_mesh | ( | int | ) |
void sculptmode_selectbrush_menu | ( | void | ) |