source: pacpusframework/branches/2.0-beta1/include/extlib/qwtplot3d/qwt3d_enrichment.h@ 89

Last change on this file since 89 was 89, checked in by morasjul, 11 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 2.1 KB
Line 
1#ifndef qwt3d_enrichment_h__2004_02_23_19_24_begin_guarded_code
2#define qwt3d_enrichment_h__2004_02_23_19_24_begin_guarded_code
3
4#include "qwt3d_global.h"
5#include "qwt3d_types.h"
6
7namespace Qwt3D
8{
9
10class Plot3D;
11
12
13//! Abstract base class for data dependent visible user objects
14/**
15Enrichments provide a framework for user defined OPenGL objects. The base class has a pure virtuell
16function clone(). 2 additional functions are per default empty and could also get a new implementation
17in derived classes. They can be used for initialization issues or actions not depending on the related
18primitive.
19*/
20class QWT3D_EXPORT Enrichment
21{
22public:
23 enum TYPE{
24 VERTEXENRICHMENT,
25 EDGEENRICHMENT,
26 FACEENRICHMENT,
27 VOXELENRICHMENT
28 }; //!< Type of the Enrichment - only VERTEXENRICHMENT's are defined at this moment.
29
30 Enrichment() : plot(0) {}
31 virtual ~Enrichment(){}
32 virtual Enrichment* clone() const = 0; //!< The derived class should give back a new Derived(something) here
33 virtual void drawBegin(){}; //!< Empty per default. Can be overwritten.
34 virtual void drawEnd(){}; //!< Empty per default. Can be overwritten.
35 virtual void assign(Plot3D const& pl) {plot = &pl;} //!< Assign to existent plot;
36 virtual TYPE type() const = 0; //!< Overwrite
37
38protected:
39 const Plot3D* plot;
40};
41
42//! Abstract base class for vertex dependent visible user objects
43/**
44VertexEnrichments introduce a specialized draw routine for vertex dependent data.
45draw() is called, when the Plot realizes its internal OpenGL data representation
46for every Vertex associated to his argument.
47*/
48class QWT3D_EXPORT VertexEnrichment : public Enrichment
49{
50public:
51
52 VertexEnrichment() : Qwt3D::Enrichment() {}
53 virtual Enrichment* clone() const = 0; //!< The derived class should give back a new Derived(something) here
54 virtual void draw(Qwt3D::Triple const&) = 0; //!< Overwrite this
55 virtual TYPE type() const {return Qwt3D::Enrichment::VERTEXENRICHMENT;} //!< This gives VERTEXENRICHMENT
56};
57
58// todo EdgeEnrichment, FaceEnrichment, VoxelEnrichment etc.
59
60} // ns
61
62#endif
Note: See TracBrowser for help on using the repository browser.