primitive

primitive — 3D primitive generation functions

Synopsis


#include <g3d/primitive.h>

G3DObject*          g3d_primitive_cube                  (G3DFloat width,
                                                         G3DFloat height,
                                                         G3DFloat depth,
                                                         G3DMaterial *material);
G3DObject*          g3d_primitive_box                   (G3DFloat width,
                                                         G3DFloat height,
                                                         G3DFloat depth,
                                                         G3DMaterial *material);
G3DObject*          g3d_primitive_box_strip_2d          (guint32 vcnt,
                                                         gdouble *vdata,
                                                         gdouble height,
                                                         gdouble width,
                                                         G3DMaterial *material);
G3DObject*          g3d_primitive_mesh                  (guint32 m,
                                                         guint32 n,
                                                         gboolean wrap_m,
                                                         gboolean wrap_n,
                                                         G3DMaterial *material);
G3DObject*          g3d_primitive_cylinder              (G3DFloat radius,
                                                         G3DFloat height,
                                                         guint32 sides,
                                                         gboolean top,
                                                         gboolean bottom,
                                                         G3DMaterial *material);
G3DObject*          g3d_primitive_tube                  (G3DFloat r_in,
                                                         G3DFloat r_out,
                                                         G3DFloat height,
                                                         guint32 sides,
                                                         gboolean top,
                                                         gboolean bottom,
                                                         G3DMaterial *material);
G3DObject*          g3d_primitive_sphere                (G3DFloat radius,
                                                         guint32 vseg,
                                                         guint32 hseg,
                                                         G3DMaterial *material);

Description

Primitives are objects containing basic 3D geometrical structures. A variety of them can be created using these functions.

Details

g3d_primitive_cube ()

G3DObject*          g3d_primitive_cube                  (G3DFloat width,
                                                         G3DFloat height,
                                                         G3DFloat depth,
                                                         G3DMaterial *material);

Generates an object containing a box. It is deprecated and now a wrapper for g3d_primitive_box().

width :

the width of the box

height :

the height of the box

depth :

the depth of the box

material :

the material to use for all faces

Returns :

the box object

g3d_primitive_box ()

G3DObject*          g3d_primitive_box                   (G3DFloat width,
                                                         G3DFloat height,
                                                         G3DFloat depth,
                                                         G3DMaterial *material);

Generates an object containing a box.

width :

the width of the box

height :

the height of the box

depth :

the depth of the box

material :

the material to use for all faces

Returns :

the box object

g3d_primitive_box_strip_2d ()

G3DObject*          g3d_primitive_box_strip_2d          (guint32 vcnt,
                                                         gdouble *vdata,
                                                         gdouble height,
                                                         gdouble width,
                                                         G3DMaterial *material);

Generates a strip of box segments defined by corner center points using two-dimensional data (x/z plane).

vcnt :

number of control points

vdata :

2-dimensional control point data (2 * vcnt * gdouble)

height :

height of resulting strip (y component)

width :

width of strip (corner diameter)

material :

material to use for faces

Returns :

strip object

g3d_primitive_mesh ()

G3DObject*          g3d_primitive_mesh                  (guint32 m,
                                                         guint32 n,
                                                         gboolean wrap_m,
                                                         gboolean wrap_n,
                                                         G3DMaterial *material);

Generate a mesh consisting of m * n vertices. The vertex data is initialized with (0.0, 0.0, 0.0) and has to be set to something useful.

m :

number of vertices in m direction

n :

number of vertices in n direction

wrap_m :

wrap around in m direction

wrap_n :

wrap around in n direction

material :

material to use for faces

Returns :

mesh object

g3d_primitive_cylinder ()

G3DObject*          g3d_primitive_cylinder              (G3DFloat radius,
                                                         G3DFloat height,
                                                         guint32 sides,
                                                         gboolean top,
                                                         gboolean bottom,
                                                         G3DMaterial *material);

Generates an object containing a cylinder.

radius :

the radius of the cylinder

height :

the height of the side faces

sides :

number of side faces (number of circle segments)

top :

add top faces

bottom :

add bottom faces

material :

material to use for faces

Returns :

cylinder object

g3d_primitive_tube ()

G3DObject*          g3d_primitive_tube                  (G3DFloat r_in,
                                                         G3DFloat r_out,
                                                         G3DFloat height,
                                                         guint32 sides,
                                                         gboolean top,
                                                         gboolean bottom,
                                                         G3DMaterial *material);

Generates an object containing a tube (a cylinder with a hole).

r_in :

inner radius

r_out :

outer radius

height :

the height of the side faces

sides :

number of side faces (number of circle segments)

top :

add top faces

bottom :

add bottom faces

material :

material to use for faces

Returns :

tube object

g3d_primitive_sphere ()

G3DObject*          g3d_primitive_sphere                (G3DFloat radius,
                                                         guint32 vseg,
                                                         guint32 hseg,
                                                         G3DMaterial *material);

Generates an object containing a sphere.

radius :

radius

vseg :

number of vertical segments

hseg :

number of horizontal segments

material :

material to use for faces

Returns :

sphere object