Change exclude property in PhysicsRayQueryParameters3D
to TypedArray
Change type of exclude property from `Vector<RID>` to `TypedArray<RID>` which is consistent with the 2D version.
This commit is contained in:
parent
6a9317c9fc
commit
82dac64659
3 changed files with 10 additions and 10 deletions
|
@ -14,7 +14,7 @@
|
||||||
<param index="0" name="from" type="Vector3" />
|
<param index="0" name="from" type="Vector3" />
|
||||||
<param index="1" name="to" type="Vector3" />
|
<param index="1" name="to" type="Vector3" />
|
||||||
<param index="2" name="collision_mask" type="int" default="4294967295" />
|
<param index="2" name="collision_mask" type="int" default="4294967295" />
|
||||||
<param index="3" name="exclude" type="Array" default="[]" />
|
<param index="3" name="exclude" type="RID[]" default="[]" />
|
||||||
<description>
|
<description>
|
||||||
Returns a new, pre-configured [PhysicsRayQueryParameters3D] object. Use it to quickly create query parameters using the most common options.
|
Returns a new, pre-configured [PhysicsRayQueryParameters3D] object. Use it to quickly create query parameters using the most common options.
|
||||||
[codeblock]
|
[codeblock]
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="4294967295">
|
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="4294967295">
|
||||||
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
|
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
|
||||||
</member>
|
</member>
|
||||||
<member name="exclude" type="Array" setter="set_exclude" getter="get_exclude" default="[]">
|
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
|
||||||
The list of objects or object [RID]s that will be excluded from collisions.
|
The list of objects or object [RID]s that will be excluded from collisions.
|
||||||
</member>
|
</member>
|
||||||
<member name="from" type="Vector3" setter="set_from" getter="get_from" default="Vector3(0, 0, 0)">
|
<member name="from" type="Vector3" setter="set_from" getter="get_from" default="Vector3(0, 0, 0)">
|
||||||
|
|
|
@ -169,19 +169,19 @@ PhysicsDirectBodyState3D::PhysicsDirectBodyState3D() {}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////
|
||||||
|
|
||||||
void PhysicsRayQueryParameters3D::set_exclude(const Vector<RID> &p_exclude) {
|
void PhysicsRayQueryParameters3D::set_exclude(const TypedArray<RID> &p_exclude) {
|
||||||
parameters.exclude.clear();
|
parameters.exclude.clear();
|
||||||
for (int i = 0; i < p_exclude.size(); i++) {
|
for (int i = 0; i < p_exclude.size(); i++) {
|
||||||
parameters.exclude.insert(p_exclude[i]);
|
parameters.exclude.insert(p_exclude[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector<RID> PhysicsRayQueryParameters3D::get_exclude() const {
|
TypedArray<RID> PhysicsRayQueryParameters3D::get_exclude() const {
|
||||||
Vector<RID> ret;
|
TypedArray<RID> ret;
|
||||||
ret.resize(parameters.exclude.size());
|
ret.resize(parameters.exclude.size());
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
for (const RID &E : parameters.exclude) {
|
for (const RID &E : parameters.exclude) {
|
||||||
ret.write[idx++] = E;
|
ret[idx++] = E;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ void PhysicsRayQueryParameters3D::_bind_methods() {
|
||||||
|
|
||||||
///////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////
|
||||||
|
|
||||||
Ref<PhysicsRayQueryParameters3D> PhysicsRayQueryParameters3D::create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const Vector<RID> &p_exclude) {
|
Ref<PhysicsRayQueryParameters3D> PhysicsRayQueryParameters3D::create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const TypedArray<RID> &p_exclude) {
|
||||||
Ref<PhysicsRayQueryParameters3D> params;
|
Ref<PhysicsRayQueryParameters3D> params;
|
||||||
params.instantiate();
|
params.instantiate();
|
||||||
params->set_from(p_from);
|
params->set_from(p_from);
|
||||||
|
|
|
@ -822,7 +822,7 @@ protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static Ref<PhysicsRayQueryParameters3D> create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const Vector<RID> &p_exclude);
|
static Ref<PhysicsRayQueryParameters3D> create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const TypedArray<RID> &p_exclude);
|
||||||
const PhysicsDirectSpaceState3D::RayParameters &get_parameters() const { return parameters; }
|
const PhysicsDirectSpaceState3D::RayParameters &get_parameters() const { return parameters; }
|
||||||
|
|
||||||
void set_from(const Vector3 &p_from) { parameters.from = p_from; }
|
void set_from(const Vector3 &p_from) { parameters.from = p_from; }
|
||||||
|
@ -846,8 +846,8 @@ public:
|
||||||
void set_hit_back_faces(bool p_enable) { parameters.hit_back_faces = p_enable; }
|
void set_hit_back_faces(bool p_enable) { parameters.hit_back_faces = p_enable; }
|
||||||
bool is_hit_back_faces_enabled() const { return parameters.hit_back_faces; }
|
bool is_hit_back_faces_enabled() const { return parameters.hit_back_faces; }
|
||||||
|
|
||||||
void set_exclude(const Vector<RID> &p_exclude);
|
void set_exclude(const TypedArray<RID> &p_exclude);
|
||||||
Vector<RID> get_exclude() const;
|
TypedArray<RID> get_exclude() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PhysicsPointQueryParameters3D : public RefCounted {
|
class PhysicsPointQueryParameters3D : public RefCounted {
|
||||||
|
|
Loading…
Reference in a new issue