gthreeobject

gthreeobject

Functions

void (*GthreeBeforeRenderCallback) ()
gboolean (*GthreeTraverseCallback) ()
GthreeObject * gthree_object_new ()
void gthree_object_add_child ()
void gthree_object_apply_matrix ()
gboolean gthree_object_check_layer ()
void gthree_object_destroy ()
void gthree_object_destroy_all_children ()
void gthree_object_disable_layer ()
void gthree_object_enable_layer ()
GList * gthree_object_find_by_name ()
GList * gthree_object_find_by_type ()
GthreeObject * gthree_object_find_first_by_name ()
GthreeObject * gthree_object_get_first_child ()
gboolean gthree_object_get_is_frustum_culled ()
GthreeObject * gthree_object_get_last_child ()
guint32 gthree_object_get_layer_mask ()
const graphene_matrix_t * gthree_object_get_matrix ()
void gthree_object_get_mesh_extents ()
void gthree_object_get_model_view_matrix_floats ()
int gthree_object_get_n_children ()
const char * gthree_object_get_name ()
GthreeObject * gthree_object_get_next_sibling ()
void gthree_object_get_normal_matrix3_floats ()
GthreeObject * gthree_object_get_parent ()
const graphene_vec3_t * gthree_object_get_position ()
GthreeObject * gthree_object_get_previous_sibling ()
const graphene_quaternion_t * gthree_object_get_quaternion ()
const graphene_euler_t * gthree_object_get_rotation ()
const graphene_vec3_t * gthree_object_get_scale ()
const char * gthree_object_get_uuid ()
gboolean gthree_object_get_visible ()
const graphene_matrix_t * gthree_object_get_world_matrix ()
void gthree_object_get_world_matrix_floats ()
gboolean gthree_object_has_attribute_data ()
void gthree_object_hide ()
gboolean gthree_object_is_in_frustum ()
void gthree_object_iter_destroy ()
void gthree_object_iter_init ()
gboolean gthree_object_iter_is_valid ()
gboolean gthree_object_iter_next ()
gboolean gthree_object_iter_prev ()
void gthree_object_iter_remove ()
void gthree_object_look_at ()
void gthree_object_remove_child ()
void gthree_object_set_before_render_callback ()
void gthree_object_set_layer ()
void gthree_object_set_matrix ()
void gthree_object_set_matrix_auto_update ()
void gthree_object_set_name ()
void gthree_object_set_position ()
void gthree_object_set_position_point3d ()
void gthree_object_set_quaternion ()
void gthree_object_set_rotation ()
void gthree_object_set_scale ()
void gthree_object_set_scale_point3d ()
void gthree_object_set_uuid ()
void gthree_object_set_visible ()
void gthree_object_set_world_matrix ()
void gthree_object_show ()
void gthree_object_toggle_layer ()
void gthree_object_translate_on_axis ()
void gthree_object_translate_x ()
void gthree_object_translate_y ()
void gthree_object_translate_z ()
void gthree_object_traverse ()
void gthree_object_traverse_ancestors ()
void gthree_object_traverse_visible ()
void gthree_object_update ()
void gthree_object_update_matrix ()
void gthree_object_update_matrix_view ()
void gthree_object_update_matrix_world ()

Properties

Signals

void destroy No Hooks
void parent-set Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GthreeObject
        ├── GthreeLight
        ├── GthreeBone
        ├── GthreeCamera
        ├── GthreeGroup
        ├── GthreeLine
        ├── GthreeMesh
        ├── GthreePoints
        ├── GthreeScene
        ╰── GthreeSprite

Includes

#include <gthree/gthree.h>

Description

Functions

GthreeBeforeRenderCallback ()

void
(*GthreeBeforeRenderCallback) (GthreeObject *object,
                               GthreeScene *scene,
                               GthreeCamera *camera);

GthreeTraverseCallback ()

gboolean
(*GthreeTraverseCallback) (GthreeObject *object,
                           gpointer user_data);

gthree_object_new ()

GthreeObject *
gthree_object_new ();

gthree_object_add_child ()

void
gthree_object_add_child (GthreeObject *object,
                         GthreeObject *child);

gthree_object_apply_matrix ()

void
gthree_object_apply_matrix (GthreeObject *object,
                            const graphene_matrix_t *matrix);

gthree_object_check_layer ()

gboolean
gthree_object_check_layer (GthreeObject *object,
                           guint32 layer_mask);

gthree_object_destroy ()

void
gthree_object_destroy (GthreeObject *object);

gthree_object_destroy_all_children ()

void
gthree_object_destroy_all_children (GthreeObject *object);

gthree_object_disable_layer ()

void
gthree_object_disable_layer (GthreeObject *object,
                             guint layer);

gthree_object_enable_layer ()

void
gthree_object_enable_layer (GthreeObject *object,
                            guint layer);

gthree_object_find_by_name ()

GList *
gthree_object_find_by_name (GthreeObject *object,
                            const char *name);

gthree_object_find_by_type ()

GList *
gthree_object_find_by_type (GthreeObject *object,
                            GType g_type);

gthree_object_find_first_by_name ()

GthreeObject *
gthree_object_find_first_by_name (GthreeObject *object,
                                  const char *name);

gthree_object_get_first_child ()

GthreeObject *
gthree_object_get_first_child (GthreeObject *object);

gthree_object_get_is_frustum_culled ()

gboolean
gthree_object_get_is_frustum_culled (GthreeObject *object);

gthree_object_get_last_child ()

GthreeObject *
gthree_object_get_last_child (GthreeObject *object);

gthree_object_get_layer_mask ()

guint32
gthree_object_get_layer_mask (GthreeObject *object);

gthree_object_get_matrix ()

const graphene_matrix_t *
gthree_object_get_matrix (GthreeObject *object);

gthree_object_get_mesh_extents ()

void
gthree_object_get_mesh_extents (GthreeObject *object,
                                graphene_box_t *box);

gthree_object_get_model_view_matrix_floats ()

void
gthree_object_get_model_view_matrix_floats
                               (GthreeObject *object,
                                float *dest);

gthree_object_get_n_children ()

int
gthree_object_get_n_children (GthreeObject *object);

gthree_object_get_name ()

const char *
gthree_object_get_name (GthreeObject *object);

gthree_object_get_next_sibling ()

GthreeObject *
gthree_object_get_next_sibling (GthreeObject *object);

gthree_object_get_normal_matrix3_floats ()

void
gthree_object_get_normal_matrix3_floats
                               (GthreeObject *object,
                                float *dest);

gthree_object_get_parent ()

GthreeObject *
gthree_object_get_parent (GthreeObject *object);

gthree_object_get_position ()

const graphene_vec3_t *
gthree_object_get_position (GthreeObject *object);

gthree_object_get_previous_sibling ()

GthreeObject *
gthree_object_get_previous_sibling (GthreeObject *object);

gthree_object_get_quaternion ()

const graphene_quaternion_t *
gthree_object_get_quaternion (GthreeObject *object);

gthree_object_get_rotation ()

const graphene_euler_t *
gthree_object_get_rotation (GthreeObject *object);

gthree_object_get_scale ()

const graphene_vec3_t *
gthree_object_get_scale (GthreeObject *object);

gthree_object_get_uuid ()

const char *
gthree_object_get_uuid (GthreeObject *object);

gthree_object_get_visible ()

gboolean
gthree_object_get_visible (GthreeObject *object);

gthree_object_get_world_matrix ()

const graphene_matrix_t *
gthree_object_get_world_matrix (GthreeObject *object);

gthree_object_get_world_matrix_floats ()

void
gthree_object_get_world_matrix_floats (GthreeObject *object,
                                       float *dest);

gthree_object_has_attribute_data ()

gboolean
gthree_object_has_attribute_data (GthreeObject *object,
                                  GQuark attribute);

gthree_object_hide ()

void
gthree_object_hide (GthreeObject *object);

gthree_object_is_in_frustum ()

gboolean
gthree_object_is_in_frustum (GthreeObject *object,
                             const graphene_frustum_t *frustum);

gthree_object_iter_destroy ()

void
gthree_object_iter_destroy (GthreeObjectIter *iter);

gthree_object_iter_init ()

void
gthree_object_iter_init (GthreeObjectIter *iter,
                         GthreeObject *root);

gthree_object_iter_is_valid ()

gboolean
gthree_object_iter_is_valid (const GthreeObjectIter *iter);

gthree_object_iter_next ()

gboolean
gthree_object_iter_next (GthreeObjectIter *iter,
                         GthreeObject **child);

gthree_object_iter_prev ()

gboolean
gthree_object_iter_prev (GthreeObjectIter *iter,
                         GthreeObject **child);

gthree_object_iter_remove ()

void
gthree_object_iter_remove (GthreeObjectIter *iter);

gthree_object_look_at ()

void
gthree_object_look_at (GthreeObject *object,
                       const graphene_vec3_t *pos);

gthree_object_remove_child ()

void
gthree_object_remove_child (GthreeObject *object,
                            GthreeObject *child);

gthree_object_set_before_render_callback ()

void
gthree_object_set_before_render_callback
                               (GthreeObject *object,
                                GthreeBeforeRenderCallback callback);

gthree_object_set_layer ()

void
gthree_object_set_layer (GthreeObject *object,
                         guint layer);

gthree_object_set_matrix ()

void
gthree_object_set_matrix (GthreeObject *object,
                          const graphene_matrix_t *matrix);

gthree_object_set_matrix_auto_update ()

void
gthree_object_set_matrix_auto_update (GthreeObject *object,
                                      gboolean auto_update);

gthree_object_set_name ()

void
gthree_object_set_name (GthreeObject *object,
                        const char *name);

gthree_object_set_position ()

void
gthree_object_set_position (GthreeObject *object,
                            const graphene_vec3_t *vec);

gthree_object_set_position_point3d ()

void
gthree_object_set_position_point3d (GthreeObject *object,
                                    const graphene_point3d_t *pos);

gthree_object_set_quaternion ()

void
gthree_object_set_quaternion (GthreeObject *object,
                              const graphene_quaternion_t *q);

gthree_object_set_rotation ()

void
gthree_object_set_rotation (GthreeObject *object,
                            const graphene_euler_t *rot);

gthree_object_set_scale ()

void
gthree_object_set_scale (GthreeObject *object,
                         const graphene_vec3_t *scale);

gthree_object_set_scale_point3d ()

void
gthree_object_set_scale_point3d (GthreeObject *object,
                                 const graphene_point3d_t *scale);

gthree_object_set_uuid ()

void
gthree_object_set_uuid (GthreeObject *object,
                        const char *uuid);

gthree_object_set_visible ()

void
gthree_object_set_visible (GthreeObject *object,
                           gboolean visible);

gthree_object_set_world_matrix ()

void
gthree_object_set_world_matrix (GthreeObject *object,
                                const graphene_matrix_t *matrix);

gthree_object_show ()

void
gthree_object_show (GthreeObject *object);

gthree_object_toggle_layer ()

void
gthree_object_toggle_layer (GthreeObject *object,
                            guint layer);

gthree_object_translate_on_axis ()

void
gthree_object_translate_on_axis (GthreeObject *object,
                                 const graphene_vec3_t *axis,
                                 float distance);

gthree_object_translate_x ()

void
gthree_object_translate_x (GthreeObject *object,
                           float distance);

gthree_object_translate_y ()

void
gthree_object_translate_y (GthreeObject *object,
                           float distance);

gthree_object_translate_z ()

void
gthree_object_translate_z (GthreeObject *object,
                           float distance);

gthree_object_traverse ()

void
gthree_object_traverse (GthreeObject *object,
                        GthreeTraverseCallback callback,
                        gpointer user_data);

gthree_object_traverse_ancestors ()

void
gthree_object_traverse_ancestors (GthreeObject *object,
                                  GthreeTraverseCallback callback,
                                  gpointer user_data);

gthree_object_traverse_visible ()

void
gthree_object_traverse_visible (GthreeObject *object,
                                GthreeTraverseCallback callback,
                                gpointer user_data);

gthree_object_update ()

void
gthree_object_update (GthreeObject *object,
                      GthreeRenderer *renderer);

gthree_object_update_matrix ()

void
gthree_object_update_matrix (GthreeObject *object);

gthree_object_update_matrix_view ()

void
gthree_object_update_matrix_view (GthreeObject *object,
                                  const graphene_matrix_t *camera_matrix);

gthree_object_update_matrix_world ()

void
gthree_object_update_matrix_world (GthreeObject *object,
                                   gboolean force);

Types and Values

GthreeObject

typedef struct _GthreeObject GthreeObject;

GthreeObjectClass

typedef struct {
  GObjectClass parent_class;

  gboolean (* in_frustum)       (GthreeObject             *object,
                                 const graphene_frustum_t *frustum);

  void (* parent_set)           (GthreeObject          *object,
                                 GthreeObject          *old_parent);

  void (* update)               (GthreeObject          *object,
                                 GthreeRenderer        *renderer);
  void (* destroy)              (GthreeObject          *object);
  gboolean (* update_matrix_world) (GthreeObject          *object,
                                    gboolean               force);

  void (* fill_render_list)      (GthreeObject          *object,
                                  GthreeRenderList      *list);
  void (* set_direct_uniforms)   (GthreeObject          *object,
                                  GthreeProgram         *program,
                                  GthreeRenderer *renderer);
  void (* raycast)               (GthreeObject          *object,
                                  GthreeRaycaster       *raycaster,
                                  GPtrArray             *intersections);

  gpointer padding[8];
} GthreeObjectClass;

struct GthreeObjectIter

struct GthreeObjectIter {
};

GthreeRenderList

typedef struct _GthreeRenderList GthreeRenderList;

Property Details

The “first-child” property

  “first-child”              GthreeObject *

First Child.

Owner: GthreeObject

Flags: Read


The “last-child” property

  “last-child”               GthreeObject *

Last Child.

Owner: GthreeObject

Flags: Read


The “next-sibling” property

  “next-sibling”             GthreeObject *

Next Sibling.

Owner: GthreeObject

Flags: Read


The “parent” property

  “parent”                   GthreeObject *

Parent.

Owner: GthreeObject

Flags: Read


The “previous-sibling” property

  “previous-sibling”         GthreeObject *

Previous Sibling.

Owner: GthreeObject

Flags: Read


The “visible” property

  “visible”                  gboolean

Visible.

Owner: GthreeObject

Flags: Read / Write

Default value: TRUE

Signal Details

The “destroy” signal

void
user_function (GthreeObject *gthreeobject,
               gpointer      user_data)

Flags: No Hooks


The “parent-set” signal

void
user_function (GthreeObject *gthreeobject,
               GthreeObject *arg1,
               gpointer      user_data)

Flags: Run Last