:right-sidebar: True Frustum =================================================================== .. currentmodule:: gi.repository.Graphene .. versionadded:: 1.2 .. class:: Frustum(*args, **kwargs) :no-contents-entry: A 3D volume delimited by 2D clip planes. The contents of the ``graphene_frustum_t`` are private, and should not be modified directly. Constructors ------------ .. rst-class:: interim-class .. class:: Frustum :no-index: .. classmethod:: alloc() -> ~gi.repository.Graphene.Frustum Allocates a new :obj:`~gi.repository.Graphene.Frustum` structure. The contents of the returned structure are undefined. .. versionadded:: 1.2 Methods ------- .. rst-class:: interim-class .. class:: Frustum :no-index: .. method:: contains_point(point: ~gi.repository.Graphene.Point3D) -> bool Checks whether a point is inside the volume defined by the given :obj:`~gi.repository.Graphene.Frustum`\. .. versionadded:: 1.2 :param point: a :obj:`~gi.repository.Graphene.Point3D` .. method:: equal(b: ~gi.repository.Graphene.Frustum) -> bool Checks whether the two given :obj:`~gi.repository.Graphene.Frustum` are equal. .. versionadded:: 1.6 :param b: a :obj:`~gi.repository.Graphene.Frustum` .. method:: free() -> None Frees the resources allocated by :func:`~gi.repository.Graphene.Frustum.alloc`. .. versionadded:: 1.2 .. method:: get_planes() -> list[~gi.repository.Graphene.Plane] Retrieves the planes that define the given :obj:`~gi.repository.Graphene.Frustum`\. .. versionadded:: 1.2 .. method:: init(p0: ~gi.repository.Graphene.Plane, p1: ~gi.repository.Graphene.Plane, p2: ~gi.repository.Graphene.Plane, p3: ~gi.repository.Graphene.Plane, p4: ~gi.repository.Graphene.Plane, p5: ~gi.repository.Graphene.Plane) -> ~gi.repository.Graphene.Frustum Initializes the given :obj:`~gi.repository.Graphene.Frustum` using the provided clipping planes. .. versionadded:: 1.2 :param p0: a clipping plane :param p1: a clipping plane :param p2: a clipping plane :param p3: a clipping plane :param p4: a clipping plane :param p5: a clipping plane .. method:: init_from_frustum(src: ~gi.repository.Graphene.Frustum) -> ~gi.repository.Graphene.Frustum Initializes the given :obj:`~gi.repository.Graphene.Frustum` using the clipping planes of another :obj:`~gi.repository.Graphene.Frustum`\. .. versionadded:: 1.2 :param src: a :obj:`~gi.repository.Graphene.Frustum` .. method:: init_from_matrix(matrix: ~gi.repository.Graphene.Matrix) -> ~gi.repository.Graphene.Frustum Initializes a :obj:`~gi.repository.Graphene.Frustum` using the given ``matrix``\. .. versionadded:: 1.2 :param matrix: a :obj:`~gi.repository.Graphene.Matrix` .. method:: intersects_box(box: ~gi.repository.Graphene.Box) -> bool Checks whether the given ``box`` intersects a plane of a :obj:`~gi.repository.Graphene.Frustum`\. .. versionadded:: 1.2 :param box: a :obj:`~gi.repository.Graphene.Box` .. method:: intersects_sphere(sphere: ~gi.repository.Graphene.Sphere) -> bool Checks whether the given ``sphere`` intersects a plane of a :obj:`~gi.repository.Graphene.Frustum`\. .. versionadded:: 1.2 :param sphere: a :obj:`~gi.repository.Graphene.Sphere` Fields ------ .. rst-class:: interim-class .. class:: Frustum :no-index: .. attribute:: planes