VisuElementRenderer

VisuElementRenderer — a virtual class to render VisuElement.

Functions

Properties

gboolean cache-material Read
ToolColor * color Read / Write
VisuElement * element Read / Write / Construct Only
gboolean maskable Read / Write
ToolMaterial * material Read / Write
gboolean rendered Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── ToolDbgObj
        ╰── VisuElementRenderer
            ╰── VisuElementAtomic

Description

This class is virtual and doesn't provide any rendering method itself. It just gathers the basics generic to all VisuElement rendering classes. It provides in addition two properties, the color and the material.

visu_element_renderer_getFromPool() is a specific function to associate a unique VisuElementRenderer to a given VisuElement.

Functions

visu_element_renderer_getElement ()

VisuElement *
visu_element_renderer_getElement (VisuElementRenderer *element);

Retrieve the VisuElement that is represented by element . See visu_element_renderer_getConstElement() if the returned value should not be modified.

Parameters

element

a VisuElementRenderer object.

 

Returns

the VisuElement represented by element .

[transfer none]

Since: 3.8


visu_element_renderer_getConstElement ()

const VisuElement *
visu_element_renderer_getConstElement (const VisuElementRenderer *element);

Retrieve the VisuElement represented by element . See visu_element_renderer_getElement() if the return value should be modified.

Parameters

element

a VisuElementRenderer object.

 

Returns

a const VisuElement.

[transfer none]

Since: 3.8


visu_element_renderer_getColor ()

const ToolColor *
visu_element_renderer_getColor (const VisuElementRenderer *element);

Retrieve the ToolColor used by element to represent a VisuElement.

Parameters

element

a VisuElementRenderer object.

 

Returns

a ToolColor or NULL.

[transfer none][allow-none]

Since: 3.8


visu_element_renderer_setColor ()

gboolean
visu_element_renderer_setColor (VisuElementRenderer *ele,
                                const ToolColor *color);

Changes the representation of ele to use color .

Parameters

ele

a VisuElementRenderer object.

 

color

a ToolColor object.

 

Returns

TRUE if value is actually changed.

Since: 3.8


visu_element_renderer_setRGBAValue ()

gboolean
visu_element_renderer_setRGBAValue (VisuElementRenderer *ele,
                                    gfloat value,
                                    guint id);

Change one of the RGBA channel of the representation of ele .

Parameters

ele

a VisuElementRenderer object.

 

value

a float vlaue in [0;1].

 

id

an value in [0;3].

 

Returns

TRUE if value is actually changed.

Since: 3.8


visu_element_renderer_getMaterial ()

const gfloat *
visu_element_renderer_getMaterial (const VisuElementRenderer *element);

Retrieve the ToolMaterial used by element to represent a VisuElement.

Parameters

element

a VisuElementRenderer object.

 

Returns

a ToolMaterial or NULL.

[transfer none][allow-none]

Since: 3.8


visu_element_renderer_setMaterial ()

gboolean
visu_element_renderer_setMaterial (VisuElementRenderer *ele,
                                   gfloat material[TOOL_MATERIAL_N_VALUES]);

Changes all the material channel of ele .

Parameters

ele

a VisuElementRenderer object.

 

material

an array of float values in [0;1].

[type ToolMaterial]

Returns

TRUE if any value is actually changed.

Since: 3.8


visu_element_renderer_setMaterialValue ()

gboolean
visu_element_renderer_setMaterialValue
                               (VisuElementRenderer *ele,
                                gfloat value,
                                ToolMaterialIds id);

Changes the material channel id with value .

Parameters

ele

a VisuElementRenderer object.

 

value

a float in [0;1].

 

id

a ToolMaterialIds value.

 

Returns

TRUE if value is actually changed.

Since: 3.8


visu_element_renderer_colorize ()

void
visu_element_renderer_colorize (const VisuElementRenderer *element,
                                VisuElementRendererEffects effect);

Change the current OpenGL color, according to the color of element . An additional effect can be added.

Parameters

element

a VisuElementRenderer object.

 

effect

a VisuElementRendererEffects value.

 

Since: 3.8


visu_element_renderer_setGlView ()

void
visu_element_renderer_setGlView (VisuElementRenderer *element,
                                 VisuGlView *view);

Associates view to element , so any changes to the rendering precision happening in view can imply a rebuild of the representation of element .

Parameters

element

a VisuElementRenderer object.

 

view

a VisuGlView object.

 

Since: 3.8


visu_element_renderer_getConstGlView ()

const VisuGlView *
visu_element_renderer_getConstGlView (const VisuElementRenderer *element);

Retrieves the VisuGlView associated to element , see visu_element_renderer_setGlView().

Parameters

element

a VisuElementRenderer object.

 

Returns

a const VisuGlView object.

[transfer none]

Since: 3.8


visu_element_renderer_rebuild ()

void
visu_element_renderer_rebuild (VisuElementRenderer *element,
                               const VisuGlView *view);

Rebuild the OpenGL list representing element for view .

Parameters

element

a VisuElementRenderer object.

 

view

a VisuGlView object.

 

Since: 3.8


visu_element_renderer_call ()

void
visu_element_renderer_call (const VisuElementRenderer *element);

A convenience function to run the call method of element .

Parameters

element

a VisuElementRenderer object.

 

Since: 3.8


visu_element_renderer_callAt ()

void
visu_element_renderer_callAt (const VisuElementRenderer *element,
                              const VisuDataColorizer *colorizer,
                              const VisuData *data,
                              const VisuNode *node);

A convenience function to run the callAt method of element . This will represent node of data with the given colorizer at the coordinates of node .

Parameters

element

a VisuElementRenderer object.

 

colorizer

a VisuDataColorizer object.

[allow-none]

data

a VisuData object.

 

node

a VisuNode belonging to data .

 

Since: 3.8


visu_element_renderer_getExtent ()

gfloat
visu_element_renderer_getExtent (const VisuElementRenderer *element);

Retrives the radius of a sphere containing the representation of element .

Parameters

element

a VisuElementRenderer object.

 

Returns

a positive float value.

Since: 3.8


visu_element_renderer_featureMaterialCache ()

gboolean
visu_element_renderer_featureMaterialCache
                               (const VisuElementRenderer *element);

Inquires if the given element renderer can use Gl list to store its material representation.

Parameters

element

a VisuElementRenderer object.

 

Returns

TRUE if material representation can be stored in a Gl list.

Since: 3.8


visu_element_renderer_getFromPool ()

VisuElementRenderer *
visu_element_renderer_getFromPool (VisuElement *element);

Retrieve a VisuElementRenderer representing element . This VisuElementRenderer is unique.

Parameters

element

a VisuElement object.

 

Returns

a VisuElementRenderer for element .

[transfer none]

Since: 3.8


visu_element_renderer_bindToPool ()

void
visu_element_renderer_bindToPool (VisuElementRenderer *element);

Bind element to the corresponding VisuElementRenderer of the pool. This allows to have VisuElement renderers that follow the same color or maskable properties for instance of a given VisuElement.

Parameters

element

a VisuElementRenderer object.

 

Since: 3.8


visu_element_renderer_pool_finalize ()

void
visu_element_renderer_pool_finalize (void);

Destroy the list of known VisuElementRenderer, see visu_element_renderer_getFromPool().

[skip]

Since: 3.8

Types and Values

enum VisuElementRendererEffects

The rendering done by VisuGlExtNodes can alter the color and material of rendered nodes.

Members

VISU_ELEMENT_RENDERER_NO_EFFECT

no effect (apply pristine element color and material).

 

VISU_ELEMENT_RENDERER_INVERT

invert colour.

 

VISU_ELEMENT_RENDERER_HIGHLIGHT

highlight colour (same material).

 

VISU_ELEMENT_RENDERER_HIGHLIGHT_SEMI

semi-transparent highlight colour with neutral material.

 

VISU_ELEMENT_RENDERER_DESATURATE

desaturate colour.

 

VISU_ELEMENT_RENDERER_SATURATE

saturate colour.

 

VISU_ELEMENT_RENDERER_DARKEN

darken colour.

 

VISU_ELEMENT_RENDERER_LIGHTEN

lighten colour.

 

VISU_ELEMENT_RENDERER_FLATTEN_DARK

render darker without light efect.

 

VISU_ELEMENT_RENDERER_FLATTEN

render without light efect.

 

VISU_ELEMENT_RENDERER_FLATTEN_LIGHT

render lighter without light efect.

 

Since: 3.7

Property Details

The “cache-material” property

  “cache-material”           gboolean

can put material in cache.

Flags: Read

Default value: TRUE


The “color” property

  “color”                    ToolColor *

element color.

Flags: Read / Write


The “element” property

  “element”                  VisuElement *

element.

Flags: Read / Write / Construct Only


The “maskable” property

  “maskable”                 gboolean

if element is maskable.

Flags: Read / Write

Default value: TRUE


The “material” property

  “material”                 ToolMaterial *

element material.

Flags: Read / Write


The “rendered” property

  “rendered”                 gboolean

if element is rendered.

Flags: Read / Write

Default value: TRUE

Signal Details

The “size-changed” signal

void
user_function (VisuElementRenderer *obj,
               gfloat               size,
               gpointer             user_data)

Emitted when the size of a element is changed.

Parameters

obj

the object emitting the signal.

 

size

the new size.

 

user_data

user data set when the signal handler was connected.

 

Flags: No Recursion

Since: 3.8