Blender V4.3
blender::draw::overlay::Armatures Class Reference

#include <overlay_next_armature.hh>

Classes

struct  DrawContext
 

Public Member Functions

 Armatures (const SelectionType selection_type)
 
void begin_sync (Resources &res, const State &state)
 
DrawContext create_draw_context (const ObjectRef &ob_ref, Resources &res, const ShapeCache &shapes, const State &state, eArmatureDrawMode draw_mode)
 
void edit_object_sync (const ObjectRef &ob_ref, Resources &res, ShapeCache &shapes, const State &state)
 
void object_sync (const ObjectRef &ob_ref, Resources &res, const ShapeCache &shapes, const State &state)
 
void end_sync (Resources &, const ShapeCache &shapes, const State &)
 
void draw (Framebuffer &framebuffer, Manager &manager, View &view)
 

Static Public Member Functions

static bool is_pose_mode (const Object *armature_ob, const State &state)
 
Main Draw Loops
static void draw_armature_pose (Armatures::DrawContext *ctx)
 
static void draw_armature_edit (Armatures::DrawContext *ctx)
 

Detailed Description

Definition at line 25 of file overlay_next_armature.hh.

Constructor & Destructor Documentation

◆ Armatures()

blender::draw::overlay::Armatures::Armatures ( const SelectionType selection_type)
inline

Definition at line 132 of file overlay_next_armature.hh.

Member Function Documentation

◆ begin_sync()

void blender::draw::overlay::Armatures::begin_sync ( Resources & res,
const State & state )
inline

Definition at line 134 of file overlay_next_armature.hh.

References blender::draw::overlay::ShaderModule::armature_degrees_of_freedom, blender::draw::overlay::ShaderModule::armature_envelope_fill, blender::draw::overlay::ShaderModule::armature_envelope_outline, blender::draw::overlay::ShaderModule::armature_shape_fill, blender::draw::overlay::ShaderModule::armature_shape_outline, blender::draw::overlay::ShaderModule::armature_shape_wire, blender::draw::overlay::ShaderModule::armature_sphere_fill, blender::draw::overlay::ShaderModule::armature_sphere_outline, blender::draw::overlay::ShaderModule::armature_stick, blender::draw::overlay::ShaderModule::armature_wire, blender::draw::detail::PassBase< DrawCommandBufType >::clear(), blender::draw::overlay::Resources::depth_tx, DRW_STATE_BLEND_ADD, DRW_STATE_BLEND_ALPHA, DRW_STATE_CULL_BACK, DRW_STATE_CULL_FRONT, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, blender::draw::overlay::Resources::dummy_depth_tx, blender::draw::overlay::ShaderModule::extra_shape, blender::draw::overlay::ShaderModule::extra_wire, blender::draw::overlay::Resources::globals_buf, blender::draw::detail::Pass< DrawCommandBufType >::init(), OB_WIRE, blender::draw::select::SelectMap::select_bind(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::overlay::Resources::shaders, state, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE, V3D_HIDE_HELPLINES, V3D_OVERLAY_HIDE_BONES, V3D_SELECT_OUTLINE, and XRAY_FLAG_ENABLED.

◆ create_draw_context()

◆ draw()

void blender::draw::overlay::Armatures::draw ( Framebuffer & framebuffer,
Manager & manager,
View & view )
inline

◆ draw_armature_edit()

◆ draw_armature_pose()

void Armatures::draw_armature_pose ( Armatures::DrawContext * ctx)
static

Definition at line 2995 of file overlay_armature.cc.

References bArmature::act_bone, ANIM_bone_is_visible(), blender::draw::overlay::ARM_DRAW_MODE_OBJECT, blender::draw::overlay::ARM_DRAW_MODE_POSE, ARM_DRAWAXES, ARM_DRAWNAMES, ARM_NO_CUSTOM, Object::base_flag, BASE_FROM_DUPLI, BASE_FROM_SET, BKE_object_defgroup_list(), BKE_pose_channel_find_name(), bPoseChannel::bone, blender::draw::overlay::Armatures::DrawContext::bone_buf, BONE_DRAW_ACTIVE, BONE_DRAW_LOCKED_WEIGHT, BONE_HIDDEN_P, BONE_HIDDEN_PG, BONE_IK_XLIMIT, BONE_IK_ZLIMIT, BONE_SELECTED, bPose::chanbase, blender::draw::overlay::Armatures::DrawContext::const_color, ArmatureBoneDrawStrategy::culling_test(), bPoseChannel::custom, Object::data, DEG_get_original_object(), DG_LOCK_WEIGHT, draw_axes(), ArmatureBoneDrawStrategy::draw_bone(), draw_bone_degrees_of_freedom(), draw_bone_name(), draw_bone_relations(), blender::draw::overlay::Armatures::DrawContext::draw_mode, bArmature::drawtype, DRW_context_state_get(), DRW_state_is_select(), DRW_state_show_text(), DRW_view_default_get(), ListBase::first, bArmature::flag, Bone::flag, bPose::flag, bPoseChannel::ikflag, Object::mode, bPoseChannel::next, blender::draw::overlay::Armatures::DrawContext::ob, OB_MODE_ALL_WEIGHT_PAINT, OB_MODE_OBJECT, OB_MODE_POSE, DRWContextState::obact, DRWContextState::object_mode, DRWContextState::object_pose, Bone::parent, pchan_draw_data_init(), Object::pose, POSE_RECALC, Object::runtime, SCE_OBJECT_MODE_LOCK, DRWContextState::scene, set_ctx_bcolor(), blender::draw::overlay::Armatures::DrawContext::show_relations, strategy_for_armature_drawtype(), and ArmatureBoneDrawStrategy::update_display_matrix().

Referenced by object_sync(), OVERLAY_armature_cache_populate(), and OVERLAY_pose_armature_cache_populate().

◆ edit_object_sync()

void blender::draw::overlay::Armatures::edit_object_sync ( const ObjectRef & ob_ref,
Resources & res,
ShapeCache & shapes,
const State & state )
inline

◆ end_sync()

◆ is_pose_mode()

static bool blender::draw::overlay::Armatures::is_pose_mode ( const Object * armature_ob,
const State & state )
inlinestatic

◆ object_sync()

void blender::draw::overlay::Armatures::object_sync ( const ObjectRef & ob_ref,
Resources & res,
const ShapeCache & shapes,
const State & state )
inline

The documentation for this class was generated from the following files: