Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
DisplayContext.hpp
00001 /* $Id$ */
00002 
00003 #ifndef _JAFAR_SPAF_DISPLAY_CONTEXT_HPP_
00004 #define _JAFAR_SPAF_DISPLAY_CONTEXT_HPP_
00005 
00006 #include <list>
00007 #include <geom/Declarations.hpp>
00008 
00009 namespace jafar {
00010   namespace spaf {
00011     class MatchResult;
00012     class Feature;
00017     class DisplayContext {
00018       public:
00019         DisplayContext();
00020         ~DisplayContext();
00021         void addPoint( const geom::Point3D& _point );
00022         const std::list< geom::Point3D >& points() const;
00023         void addSegment( const geom::Segment3D& _segment );
00024         const std::list< geom::Segment3D >& segments() const;
00025         void addFacet( const geom::Facet3D& _facet );
00026         const std::list< geom::Facet3D >& facets() const;
00027       private:
00028         struct Private;
00029         Private* const d;
00030     };
00031 #if 0
00032 
00038     class Colorizer {
00039       protected:
00040         struct Color { double r, g, b; };
00041       public:
00042         virtual ~Colorizer() {}
00046         virtual void selectColorFor( const Feature * ) const = 0;
00047       protected:
00048         void setGLColor( const Color& c) const;
00049     };
00055     class RandomColorizer : public Colorizer {
00056       public:
00057         RandomDisplayContext();
00058         virtual ~RandomDisplayContext();
00059         virtual void selectColorFor( const Feature * ) const;
00060       private:
00061         struct Private;
00062         Private* const d;
00063     };
00068     class UniformColorizer : public Colorizer {
00069       public:
00070         UniformDisplayContext(double r = 0.5, double g = 0.5, double b = 1.0);
00071         ~UniformDisplayContext();
00072         virtual void selectColorFor( const Feature * ) const;
00073       private:
00074         struct Private;
00075         Private* const d;
00076     };
00081     class ColorizeMatchesColorizer : public Colorizer {
00082       public:
00088         ColorizeMatchesDisplayContext( DisplayContext* _fallback = 0 );
00089         virtual ~ColorizeMatchesDisplayContext();
00090         virtual void selectColorFor( const Feature * ) const;
00091         void setMatchList( const std::list< MatchResult >& _matchResults );
00092       public:
00093         struct Private;
00094         Private* const d;
00095     };
00096 #endif
00097   }
00098 }
00099 
00100 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:28 for Jafar by doxygen 1.7.6.1
LAAS-CNRS