Added the missing methods in Transform and Transform2D.

This commit is contained in:
Relintai 2023-05-31 02:05:24 +02:00
parent fff4a84b47
commit 86da41e550
4 changed files with 68 additions and 9 deletions

View File

@ -244,6 +244,21 @@ pandemonium_aabb GDAPI pandemonium_transform_xform_aabb(const pandemonium_transf
return raw_dest;
}
pandemonium_pool_vector3_array GDAPI pandemonium_transform_xform_pool_vector3(const pandemonium_transform *p_self, const pandemonium_pool_vector3_array *p_array) {
pandemonium_pool_vector3_array dest;
const Transform *self = (const Transform *)p_self;
const PoolVector3Array *array = (const PoolVector3Array *)p_array;
memnew_placement(&dest, PoolVector<Vector3>(self->xform(*array)));
return dest;
}
pandemonium_pool_vector3i_array GDAPI pandemonium_transform_xform_pool_vector3i(const pandemonium_transform *p_self, const pandemonium_pool_vector3i_array *p_array) {
pandemonium_pool_vector3i_array dest;
const Transform *self = (const Transform *)p_self;
const PoolVector3iArray *array = (const PoolVector3iArray *)p_array;
memnew_placement(&dest, PoolVector<Vector3i>(self->xform(*array)));
return dest;
}
pandemonium_vector3 GDAPI pandemonium_transform_xform_inv_vector3(const pandemonium_transform *p_self, const pandemonium_vector3 *p_v) {
pandemonium_vector3 raw_dest;
Vector3 *dest = (Vector3 *)&raw_dest;
@ -270,6 +285,21 @@ pandemonium_aabb GDAPI pandemonium_transform_xform_inv_aabb(const pandemonium_tr
return raw_dest;
}
pandemonium_pool_vector3_array GDAPI pandemonium_transform_xform_inv_pool_vector3(const pandemonium_transform *p_self, const pandemonium_pool_vector3_array *p_array) {
pandemonium_pool_vector3_array dest;
const Transform *self = (const Transform *)p_self;
const PoolVector3Array *array = (const PoolVector3Array *)p_array;
memnew_placement(&dest, PoolVector<Vector3>(self->xform_inv(*array)));
return dest;
}
pandemonium_pool_vector3i_array GDAPI pandemonium_transform_xform_inv_pool_vector3i(const pandemonium_transform *p_self, const pandemonium_pool_vector3i_array *p_array) {
pandemonium_pool_vector3i_array dest;
const Transform *self = (const Transform *)p_self;
const PoolVector3iArray *array = (const PoolVector3iArray *)p_array;
memnew_placement(&dest, PoolVector<Vector3i>(self->xform_inv(*array)));
return dest;
}
pandemonium_plane GDAPI pandemonium_transform_xform_plane(const pandemonium_transform *p_self, const pandemonium_plane *p_v) {
pandemonium_plane raw_dest;
Plane *dest = (Plane *)&raw_dest;

View File

@ -384,6 +384,35 @@ pandemonium_vector2i GDAPI pandemonium_transform2d_xform_inv_vector2i(const pand
return dest;
}
pandemonium_pool_vector2_array GDAPI pandemonium_transform_xform_pool_vector2(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2_array *p_array) {
pandemonium_pool_vector2_array dest;
const Transform2D *self = (const Transform2D *)p_self;
const PoolVector2Array *array = (const PoolVector2Array *)p_array;
memnew_placement(&dest, PoolVector<Vector2>(self->xform(*array)));
return dest;
}
pandemonium_pool_vector2i_array GDAPI pandemonium_transform_xform_pool_vector2i(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2i_array *p_array) {
pandemonium_pool_vector2i_array dest;
const Transform2D *self = (const Transform2D *)p_self;
const PoolVector2iArray *array = (const PoolVector2iArray *)p_array;
memnew_placement(&dest, PoolVector<Vector2i>(self->xform(*array)));
return dest;
}
pandemonium_pool_vector2_array GDAPI pandemonium_transform_xform_inv_pool_vector2(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2_array *p_array) {
pandemonium_pool_vector2_array dest;
const Transform2D *self = (const Transform2D *)p_self;
const PoolVector2Array *array = (const PoolVector2Array *)p_array;
memnew_placement(&dest, PoolVector<Vector2>(self->xform_inv(*array)));
return dest;
}
pandemonium_pool_vector2i_array GDAPI pandemonium_transform_xform_inv_pool_vector2i(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2i_array *p_array) {
pandemonium_pool_vector2i_array dest;
const Transform2D *self = (const Transform2D *)p_self;
const PoolVector2iArray *array = (const PoolVector2iArray *)p_array;
memnew_placement(&dest, PoolVector<Vector2i>(self->xform_inv(*array)));
return dest;
}
pandemonium_string GDAPI pandemonium_transform2d_as_string(const pandemonium_transform2d *p_self) {
pandemonium_string ret;
const Transform2D *self = (const Transform2D *)p_self;

View File

@ -53,10 +53,10 @@ typedef struct {
#include <gdn/basis.h>
#include <gdn/gdnative.h>
#include <gdn/quaternion.h>
#include <gdn/variant.h>
#include <gdn/vector3.h>
#include <gdn/vector3i.h>
#include <gdn/quaternion.h>
#ifdef __cplusplus
extern "C" {
@ -107,14 +107,14 @@ pandemonium_bool GDAPI pandemonium_transform_operator_equal(const pandemonium_tr
pandemonium_vector3 GDAPI pandemonium_transform_xform_vector3(const pandemonium_transform *p_self, const pandemonium_vector3 *p_v);
pandemonium_vector3i GDAPI pandemonium_transform_xform_vector3i(const pandemonium_transform *p_self, const pandemonium_vector3i *p_vector);
pandemonium_aabb GDAPI pandemonium_transform_xform_aabb(const pandemonium_transform *p_self, const pandemonium_aabb *p_v);
//_FORCE_INLINE_ PoolVector<Vector3> xform(const PoolVector<Vector3> &p_array) const;
//_FORCE_INLINE_ PoolVector<Vector3i> xform(const PoolVector<Vector3i> &p_array) const;
pandemonium_pool_vector3_array GDAPI pandemonium_transform_xform_pool_vector3(const pandemonium_transform *p_self, const pandemonium_pool_vector3_array *p_array);
pandemonium_pool_vector3i_array GDAPI pandemonium_transform_xform_pool_vector3i(const pandemonium_transform *p_self, const pandemonium_pool_vector3i_array *p_array);
pandemonium_vector3 GDAPI pandemonium_transform_xform_inv_vector3(const pandemonium_transform *p_self, const pandemonium_vector3 *p_v);
pandemonium_vector3i GDAPI pandemonium_transform_xform_inv_vector3i(const pandemonium_transform *p_self, const pandemonium_vector3i *p_vector);
pandemonium_aabb GDAPI pandemonium_transform_xform_inv_aabb(const pandemonium_transform *p_self, const pandemonium_aabb *p_v);
//_FORCE_INLINE_ PoolVector<Vector3> xform_inv(const PoolVector<Vector3> &p_array) const;
//_FORCE_INLINE_ PoolVector<Vector3i> xform_inv(const PoolVector<Vector3i> &p_array) const;
pandemonium_pool_vector3_array GDAPI pandemonium_transform_xform_inv_pool_vector3(const pandemonium_transform *p_self, const pandemonium_pool_vector3_array *p_array);
pandemonium_pool_vector3i_array GDAPI pandemonium_transform_xform_inv_pool_vector3i(const pandemonium_transform *p_self, const pandemonium_pool_vector3i_array *p_array);
pandemonium_plane GDAPI pandemonium_transform_xform_plane(const pandemonium_transform *p_self, const pandemonium_plane *p_v);
pandemonium_plane GDAPI pandemonium_transform_xform_inv_plane(const pandemonium_transform *p_self, const pandemonium_plane *p_v);

View File

@ -135,10 +135,10 @@ pandemonium_vector2i GDAPI pandemonium_transform2d_basis_xform_inv(const pandemo
pandemonium_vector2i GDAPI pandemonium_transform2d_xform_vector2i(const pandemonium_transform2d *p_self, const pandemonium_vector2i *p_vec);
pandemonium_vector2i GDAPI pandemonium_transform2d_xform_inv_vector2i(const pandemonium_transform2d *p_self, const pandemonium_vector2i *p_vec);
//_FORCE_INLINE_ PoolVector<Vector2> xform(const PoolVector<Vector2> &p_array) const;
//_FORCE_INLINE_ PoolVector<Vector2> xform_inv(const PoolVector<Vector2> &p_array) const;
//_FORCE_INLINE_ PoolVector<Vector2i> xform(const PoolVector<Vector2i> &p_array) const;
//_FORCE_INLINE_ PoolVector<Vector2i> xform_inv(const PoolVector<Vector2i> &p_array) const;
pandemonium_pool_vector2_array GDAPI pandemonium_transform_xform_pool_vector2(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2_array *p_array);
pandemonium_pool_vector2_array GDAPI pandemonium_transform_xform_inv_pool_vector2(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2_array *p_array);
pandemonium_pool_vector2i_array GDAPI pandemonium_transform_xform_inv_pool_vector2i(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2i_array *p_array);
pandemonium_pool_vector2i_array GDAPI pandemonium_transform_xform_pool_vector2i(const pandemonium_transform2d *p_self, const pandemonium_pool_vector2i_array *p_array);
pandemonium_string GDAPI pandemonium_transform2d_as_string(const pandemonium_transform2d *p_self);