VisuGlExtSurfaces

VisuGlExtSurfaces — Defines methods to draw surfaces.

Synopsis

#define             VISU_GL_EXT_SURFACES_ID
struct              VisuGlExtSurfaces;
struct              VisuGlExtSurfacesClass;
gboolean            visu_gl_ext_surfaces_add            (VisuGlExtSurfaces *surfaces,
                                                         VisuSurfaces *surf);
void                visu_gl_ext_surfaces_draw           (VisuGlExtSurfaces *surfs);
VisuGlExtSurfaces * visu_gl_ext_surfaces_getDefault     (void);
gboolean            visu_gl_ext_surfaces_getDrawIntra   (VisuGlExtSurfaces *surfs);
VisuGlExtSurfaces * visu_gl_ext_surfaces_new            (const gchar *name);
gboolean            visu_gl_ext_surfaces_remove         (VisuGlExtSurfaces *surfaces,
                                                         VisuSurfaces *surf);
gboolean            visu_gl_ext_surfaces_setDrawIntra   (VisuGlExtSurfaces *surfs,
                                                         gboolean status);
gboolean            visu_gl_ext_surfaces_setOnObserveOrdering
                                                        (VisuGlExtSurfaces *surfaces,
                                                         VisuInteractive *inter);
gboolean            visu_gl_ext_surfaces_setOnTheFlyOrdering
                                                        (VisuGlExtSurfaces *surfaces,
                                                         VisuGlView *view);

Object Hierarchy

  GObject
   +----VisuGlExt
         +----VisuGlExtSurfaces

Description

VisuSurfaces object can be drawn with this class. Simply create a new VisuGlExtSurfaces object and add surfaces with visu_gl_ext_surfaces_add(). It is better to add several surfaces to a single VisuGlExtSurfaces object since all vertices are reordered when necessary to ensure proper transparency.

Details

VISU_GL_EXT_SURFACES_ID

#define VISU_GL_EXT_SURFACES_ID "Surfaces"

The id used to identify this extension, see visu_gl_ext_rebuild() for instance.


struct VisuGlExtSurfaces

struct VisuGlExtSurfaces;

An opaque structure.

Since 3.7


struct VisuGlExtSurfacesClass

struct VisuGlExtSurfacesClass {
  VisuGlExtClass parent;
};

A short way to identify _VisuGlExtSurfacesClass structure.

VisuGlExtClass parent;

the parent class;

Since 3.7


visu_gl_ext_surfaces_add ()

gboolean            visu_gl_ext_surfaces_add            (VisuGlExtSurfaces *surfaces,
                                                         VisuSurfaces *surf);

Add a new surface to the list of drawn surfaces.

surfaces :

a VisuGlExtSurfaces object.

surf :

a VisuSurfaces object. [transfer full]

Returns :

FALSE if surf was already reguistered.

Since 3.7


visu_gl_ext_surfaces_draw ()

void                visu_gl_ext_surfaces_draw           (VisuGlExtSurfaces *surfs);

Rebuild each visible surface's list. The order in which to draw the surfaces is given in the order argument. If the resource 'isosurfaces_drawIntra' is TRUE then, the interior of the surfaces is drawn as color inverse.

surfs :

a VisuGlExtSurfaces object.

Since 3.7


visu_gl_ext_surfaces_getDefault ()

VisuGlExtSurfaces * visu_gl_ext_surfaces_getDefault     (void);

V_Sim is using a default surfaces object.

Returns :

a VisuGlExtSurfaces object used by default. [transfer none]

Since 3.7


visu_gl_ext_surfaces_getDrawIntra ()

gboolean            visu_gl_ext_surfaces_getDrawIntra   (VisuGlExtSurfaces *surfs);

Retrieve if the interiors of surfaces are drawn with a colour inverse or not.

surfs :

a VisuGlExtSurfaces object.

Returns :

TRUE if the interior is painted in colour inverse.

visu_gl_ext_surfaces_new ()

VisuGlExtSurfaces * visu_gl_ext_surfaces_new            (const gchar *name);

Creates a new VisuGlExt to draw surfaces.

name :

the name to give to the extension (default is VISU_GL_EXT_SURFACES_ID). [allow-none]

Returns :

a pointer to the VisuGlExt it created or NULL otherwise.

Since 3.7


visu_gl_ext_surfaces_remove ()

gboolean            visu_gl_ext_surfaces_remove         (VisuGlExtSurfaces *surfaces,
                                                         VisuSurfaces *surf);

Removes surf from the list of drawn surfaces.

surfaces :

a VisuGlExtSurfaces object.

surf :

a VisuSurfaces object.

Returns :

TRUE if visu_gl_ext_surfaces_draw(à should be called.

Since 3.7


visu_gl_ext_surfaces_setDrawIntra ()

gboolean            visu_gl_ext_surfaces_setDrawIntra   (VisuGlExtSurfaces *surfs,
                                                         gboolean status);

Set if the interiors of surfaces are drawn with a colour inverse or not.

surfs :

a VisuGlExtSurfaces object.

status :

a boolean.

Returns :

TRUE if calling routine should redraw the surfaces with visu_gl_ext_surfaces_draw().

visu_gl_ext_surfaces_setOnObserveOrdering ()

gboolean            visu_gl_ext_surfaces_setOnObserveOrdering
                                                        (VisuGlExtSurfaces *surfaces,
                                                         VisuInteractive *inter);

Attach surfaces to inter, so it can be rendered there. See visu_gl_ext_surfaces_draw().

surfaces :

the VisuGlExtSurfaces object to attached to rendering inter.

inter :

a VisuInteractive object. [transfer full][allow-none]

Returns :

TRUE if visu_gl_ext_surfaces_draw() should be called and then 'OpenGLAskForReDraw' signal be emitted.

Since 3.7


visu_gl_ext_surfaces_setOnTheFlyOrdering ()

gboolean            visu_gl_ext_surfaces_setOnTheFlyOrdering
                                                        (VisuGlExtSurfaces *surfaces,
                                                         VisuGlView *view);

Attach surfaces to view, so it can be rendered there. See visu_gl_ext_surfaces_draw().

surfaces :

the VisuGlExtSurfaces object to attached to rendering view.

view :

a VisuGlView object. [transfer full][allow-none]

Returns :

TRUE if visu_gl_ext_surfaces_draw() should be called and then 'OpenGLAskForReDraw' signal be emitted.

Since 3.7