#include "skeleton_3d_editor_plugin.h"
#include "core/io/resource_saver.h"
#include "editor/editor_node.h"
#include "editor/editor_properties.h"
#include "editor/editor_properties_vector.h"
#include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/animation_player_editor_plugin.h"
#include "editor/plugins/node_3d_editor_plugin.h"
#include "editor/themes/editor_scale.h"
#include "scene/3d/mesh_instance_3d.h"
#include "scene/3d/physics/collision_shape_3d.h"
#include "scene/3d/physics/joints/joint_3d.h"
#include "scene/3d/physics/physical_bone_3d.h"
#include "scene/3d/physics/physics_body_3d.h"
#include "scene/gui/separator.h"
#include "scene/gui/texture_rect.h"
#include "scene/property_utils.h"
#include "scene/resources/3d/capsule_shape_3d.h"
#include "scene/resources/skeleton_profile.h"
#include "scene/resources/surface_tool.h"
void BoneTransformEditor::create_editors() { … }
void BoneTransformEditor::_notification(int p_what) { … }
void BoneTransformEditor::_value_changed(const String &p_property, const Variant &p_value, const String &p_name, bool p_changing) { … }
BoneTransformEditor::BoneTransformEditor(Skeleton3D *p_skeleton) : … { … }
void BoneTransformEditor::set_keyable(const bool p_keyable) { … }
void BoneTransformEditor::set_target(const String &p_prop) { … }
void BoneTransformEditor::_property_keyed(const String &p_path, bool p_advance) { … }
void BoneTransformEditor::_update_properties() { … }
Skeleton3DEditor *Skeleton3DEditor::singleton = …;
void Skeleton3DEditor::set_keyable(const bool p_keyable) {
keyable = p_keyable;
if (p_keyable) {
animation_hb->show();
} else {
animation_hb->hide();
}
};
void Skeleton3DEditor::set_bone_options_enabled(const bool p_bone_options_enabled) {
skeleton_options->get_popup()->set_item_disabled(SKELETON_OPTION_RESET_SELECTED_POSES, !p_bone_options_enabled);
skeleton_options->get_popup()->set_item_disabled(SKELETON_OPTION_SELECTED_POSES_TO_RESTS, !p_bone_options_enabled);
};
void Skeleton3DEditor::_bind_methods() { … }
void Skeleton3DEditor::_on_click_skeleton_option(int p_skeleton_option) { … }
void Skeleton3DEditor::reset_pose(const bool p_all_bones) { … }
void Skeleton3DEditor::insert_keys(const bool p_all_bones) { … }
void Skeleton3DEditor::pose_to_rest(const bool p_all_bones) { … }
void Skeleton3DEditor::create_physical_skeleton() { … }
PhysicalBone3D *Skeleton3DEditor::create_physical_bone(int bone_id, int bone_child_id, const Vector<BoneInfo> &bones_infos) { … }
void Skeleton3DEditor::export_skeleton_profile() { … }
void Skeleton3DEditor::_file_selected(const String &p_file) { … }
Variant Skeleton3DEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) { … }
bool Skeleton3DEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const { … }
void Skeleton3DEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { … }
void Skeleton3DEditor::move_skeleton_bone(NodePath p_skeleton_path, int32_t p_selected_boneidx, int32_t p_target_boneidx) { … }
void Skeleton3DEditor::_joint_tree_selection_changed() { … }
void Skeleton3DEditor::_joint_tree_rmb_select(const Vector2 &p_pos, MouseButton p_button) { … }
void Skeleton3DEditor::_joint_tree_button_clicked(Object *p_item, int p_column, int p_id, MouseButton p_button) { … }
void Skeleton3DEditor::_update_properties() { … }
void Skeleton3DEditor::update_joint_tree() { … }
void Skeleton3DEditor::update_all() { … }
void Skeleton3DEditor::create_editors() { … }
void Skeleton3DEditor::_notification(int p_what) { … }
void Skeleton3DEditor::_node_removed(Node *p_node) { … }
void Skeleton3DEditor::edit_mode_toggled(const bool pressed) { … }
Skeleton3DEditor::Skeleton3DEditor(EditorInspectorPluginSkeleton *e_plugin, Skeleton3D *p_skeleton) : … { … }
void Skeleton3DEditor::update_bone_original() { … }
void Skeleton3DEditor::_hide_handles() { … }
void Skeleton3DEditor::_draw_gizmo() { … }
void Skeleton3DEditor::_draw_handles() { … }
TreeItem *Skeleton3DEditor::_find(TreeItem *p_node, const NodePath &p_path) { … }
void Skeleton3DEditor::_subgizmo_selection_change() { … }
void Skeleton3DEditor::select_bone(int p_idx) { … }
Skeleton3DEditor::~Skeleton3DEditor() { … }
bool EditorInspectorPluginSkeleton::can_handle(Object *p_object) { … }
void EditorInspectorPluginSkeleton::parse_begin(Object *p_object) { … }
Skeleton3DEditorPlugin::Skeleton3DEditorPlugin() { … }
EditorPlugin::AfterGUIInput Skeleton3DEditorPlugin::forward_3d_gui_input(Camera3D *p_camera, const Ref<InputEvent> &p_event) { … }
bool Skeleton3DEditorPlugin::handles(Object *p_object) const { … }
void Skeleton3DEditor::_bone_enabled_changed(const int p_bone_id) { … }
void Skeleton3DEditor::_update_gizmo_visible() { … }
int Skeleton3DEditor::get_selected_bone() const { … }
Skeleton3DGizmoPlugin::Skeleton3DGizmoPlugin() { … }
bool Skeleton3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { … }
String Skeleton3DGizmoPlugin::get_gizmo_name() const { … }
int Skeleton3DGizmoPlugin::get_priority() const { … }
int Skeleton3DGizmoPlugin::subgizmos_intersect_ray(const EditorNode3DGizmo *p_gizmo, Camera3D *p_camera, const Vector2 &p_point) const { … }
Transform3D Skeleton3DGizmoPlugin::get_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id) const { … }
void Skeleton3DGizmoPlugin::set_subgizmo_transform(const EditorNode3DGizmo *p_gizmo, int p_id, Transform3D p_transform) { … }
void Skeleton3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizmo, const Vector<int> &p_ids, const Vector<Transform3D> &p_restore, bool p_cancel) { … }
void Skeleton3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { … }