proland::FieldsOrthoLayer Class Reference

An OrthoGPUProducer layer to draw fields. More...

#include <FieldsOrthoLayer.h>

Inheritance diagram for proland::FieldsOrthoLayer:
proland::GraphLayer

List of all members.

Public Member Functions

 FieldsOrthoLayer (ptr< GraphProducer > graphProducer, ptr< Program > layerProgram, ptr< Program > fillProgram, int displayLevel=0, bool quality=true)
 Creates a new FieldsOrthoLayer.
virtual ~FieldsOrthoLayer ()
 Deletes this FieldsOrthoLayer.

Protected Member Functions

 FieldsOrthoLayer ()
 Creates an uninitialized FieldsOrthoLayer.
void init (ptr< GraphProducer > graphProducer, ptr< Program > layerProgram, ptr< Program > fillProgram, int displayLevel=0, bool quality=true)
 Initializes this FieldsOrthoLayer.

Protected Attributes

ptr< Program > fill
 Program used to fill areas.

Private Member Functions

vec4f * getColor (AreaPtr field, mat3f **dcolor, vec3f **stripeSize, vec2f &stripeDir)
 Returns the color of a given Area, depending on its type.

Private Attributes

ptr< Mesh< vec2f, unsigned int > > mesh
 The mesh used for drawing curves.
ptr< Tesselatortess
 The tesselator used for drawing areas.
ptr< Uniform3f > fillOffsetU
 Matrix used to compute border color in the shader.

Static Private Attributes

static vec4f COLOR [10]
 Fields colors.
static mat3f DCOLOR [10]
 Fields dColor.
static vec3f STRIPES [10]
 Fields stripe size.

Detailed Description

An OrthoGPUProducer layer to draw fields.

Author:
Antoine Begault, Guillaume Piolat

Constructor & Destructor Documentation

proland::FieldsOrthoLayer::FieldsOrthoLayer ( ptr< GraphProducer graphProducer,
ptr< Program >  layerProgram,
ptr< Program >  fillProgram,
int  displayLevel = 0,
bool  quality = true 
)

Creates a new FieldsOrthoLayer.

Parameters:
graphProducer the GraphProducer that produces the graphs to be drawn by this layer.
layerProgram the Program to be used to draw the graphs.
fillProgram the GLSL Program to be used to fill areas in this Layer.
displayLevel the quadtree level at which the display of this layer must start.
quality enable or not the quality mode (better display).
virtual proland::FieldsOrthoLayer::~FieldsOrthoLayer (  )  [virtual]

Deletes this FieldsOrthoLayer.

proland::FieldsOrthoLayer::FieldsOrthoLayer (  )  [protected]

Creates an uninitialized FieldsOrthoLayer.


Member Function Documentation

vec4f* proland::FieldsOrthoLayer::getColor ( AreaPtr  field,
mat3f **  dcolor,
vec3f **  stripeSize,
vec2f &  stripeDir 
) [private]

Returns the color of a given Area, depending on its type.

Parameters:
field the Area to color.
[out] dcolor the associated dcolor.
[out] stripeSize the associated stripeSize.
[out] stripeDir the associated stripeDir.
void proland::FieldsOrthoLayer::init ( ptr< GraphProducer graphProducer,
ptr< Program >  layerProgram,
ptr< Program >  fillProgram,
int  displayLevel = 0,
bool  quality = true 
) [protected]

Initializes this FieldsOrthoLayer.

See FieldsOrthoLayer.


Member Data Documentation

vec4f proland::FieldsOrthoLayer::COLOR[10] [static, private]

Fields colors.

mat3f proland::FieldsOrthoLayer::DCOLOR[10] [static, private]

Fields dColor.

ptr<Program> proland::FieldsOrthoLayer::fill [protected]

Program used to fill areas.

ptr<Uniform3f> proland::FieldsOrthoLayer::fillOffsetU [private]

Matrix used to compute border color in the shader.

ptr< Mesh<vec2f, unsigned int> > proland::FieldsOrthoLayer::mesh [private]

The mesh used for drawing curves.

vec3f proland::FieldsOrthoLayer::STRIPES[10] [static, private]

Fields stripe size.

The tesselator used for drawing areas.


Generated on Sat May 12 09:42:48 2012 for proland by  doxygen 1.6.1