mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Use AncestralClass to speed up Object::cast_to when possible.
This commit is contained in:
parent
149a4b4ca1
commit
96619d46a1
15 changed files with 62 additions and 8 deletions
|
|
@ -70,6 +70,8 @@ protected:
|
|||
bool _property_get_revert(const StringName &p_name, Variant &r_property) const;
|
||||
|
||||
public:
|
||||
static constexpr AncestralClass static_ancestral_class = AncestralClass::MESH_INSTANCE_3D;
|
||||
|
||||
void set_mesh(const Ref<Mesh> &p_mesh);
|
||||
Ref<Mesh> get_mesh() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ class Node3D : public Node {
|
|||
friend class SceneTreeFTITests;
|
||||
|
||||
public:
|
||||
static constexpr AncestralClass static_ancestral_class = AncestralClass::NODE_3D;
|
||||
|
||||
// Edit mode for the rotation.
|
||||
// THIS MODE ONLY AFFECTS HOW DATA IS EDITED AND SAVED
|
||||
// IT DOES _NOT_ AFFECT THE TRANSFORM LOGIC (see comment in TransformDirty).
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ class CollisionObject3D : public Node3D {
|
|||
GDCLASS(CollisionObject3D, Node3D);
|
||||
|
||||
public:
|
||||
static constexpr AncestralClass static_ancestral_class = AncestralClass::COLLISION_OBJECT_3D;
|
||||
|
||||
enum DisableMode {
|
||||
DISABLE_MODE_REMOVE,
|
||||
DISABLE_MODE_MAKE_STATIC,
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@ protected:
|
|||
Ref<KinematicCollision3D> _move(const Vector3 &p_motion, bool p_test_only = false, real_t p_margin = 0.001, bool p_recovery_as_collision = false, int p_max_collisions = 1);
|
||||
|
||||
public:
|
||||
static constexpr AncestralClass static_ancestral_class = AncestralClass::PHYSICS_BODY_3D;
|
||||
|
||||
PackedStringArray get_configuration_warnings() const override;
|
||||
|
||||
bool move_and_collide(const PhysicsServer3D::MotionParameters &p_parameters, PhysicsServer3D::MotionResult &r_result, bool p_test_only = false, bool p_cancel_sliding = true);
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ protected:
|
|||
|
||||
GDVIRTUAL0RC(AABB, _get_aabb)
|
||||
public:
|
||||
static constexpr AncestralClass static_ancestral_class = AncestralClass::VISUAL_INSTANCE_3D;
|
||||
|
||||
enum GetFacesFlags {
|
||||
FACES_SOLID = 1, // solid geometry
|
||||
FACES_ENCLOSING = 2,
|
||||
|
|
@ -86,6 +88,8 @@ class GeometryInstance3D : public VisualInstance3D {
|
|||
GDCLASS(GeometryInstance3D, VisualInstance3D);
|
||||
|
||||
public:
|
||||
static constexpr AncestralClass static_ancestral_class = AncestralClass::GEOMETRY_INSTANCE_3D;
|
||||
|
||||
enum ShadowCastingSetting {
|
||||
SHADOW_CASTING_SETTING_OFF = RS::SHADOW_CASTING_SETTING_OFF,
|
||||
SHADOW_CASTING_SETTING_ON = RS::SHADOW_CASTING_SETTING_ON,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue