godot/editor/plugins/skeleton_3d_editor_plugin.cpp

/**************************************************************************/
/*  skeleton_3d_editor_plugin.cpp                                         */
/**************************************************************************/
/*                         This file is part of:                          */
/*                             GODOT ENGINE                               */
/*                        https://godotengine.org                         */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */
/*                                                                        */
/* Permission is hereby granted, free of charge, to any person obtaining  */
/* a copy of this software and associated documentation files (the        */
/* "Software"), to deal in the Software without restriction, including    */
/* without limitation the rights to use, copy, modify, merge, publish,    */
/* distribute, sublicense, and/or sell copies of the Software, and to     */
/* permit persons to whom the Software is furnished to do so, subject to  */
/* the following conditions:                                              */
/*                                                                        */
/* The above copyright notice and this permission notice shall be         */
/* included in all copies or substantial portions of the Software.        */
/*                                                                        */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */
/**************************************************************************/

#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() {}

// May be not used with single select mode.
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) {}