modelProcessor.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: modelProcessor.h,v 1.19.20.1 2007/03/28 13:51:47 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
00008 #define BALL_VIEW_MODELS_MODELPROCESSOR_H
00009 
00010 #ifndef BALL_CONCEPT_COMPOSITE_H
00011 # include <BALL/CONCEPT/composite.h>
00012 #endif
00013 
00014 #ifndef BALL_DATATYPE_LIST_H
00015 # include <BALL/DATATYPE/list.h>
00016 #endif
00017 
00018 #ifndef BALL_CONCEPT_PROPERTY_H
00019 # include <BALL/CONCEPT/property.h>
00020 #endif
00021 
00022 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
00023 # include <BALL/VIEW/KERNEL/geometricObject.h>
00024 #endif
00025 
00026 namespace BALL
00027 {
00028   namespace VIEW
00029   {
00041     class BALL_VIEW_EXPORT ModelProcessor
00042       : public UnaryProcessor<Composite>,
00043         public PropertyManager
00044     {
00045       public:
00046 
00047         BALL_CREATE(ModelProcessor)
00048         
00049         
00050         ModelProcessor();
00051 
00053         ModelProcessor(const ModelProcessor& model_processor);
00054 
00057         virtual ~ModelProcessor();
00058 
00060         virtual void clear();
00061 
00063         virtual bool isValid() const
00064           {return true;};
00065 
00069         virtual void clearComposites()
00070           {};
00071 
00073         virtual void dump(std::ostream& /*s = std::cout*/, Size /*depth = 0*/) const
00074           {};
00075 
00077         GeometricObjectList& getGeometricObjects() 
00078           { return geometric_objects_;}
00079         
00081         const GeometricObjectList& getGeometricObjects() const
00082           { return geometric_objects_;}
00083         
00085         void setDrawingPrecision(Index precision);
00086 
00088         Index getDrawingPrecision() const;
00089 
00091         void setSurfaceDrawingPrecision(float precision);
00092 
00094         float getSurfaceDrawingPrecision() const;
00095 
00101         virtual bool createGeometricObjects() 
00102           { return true;}
00103         
00104         protected:
00105         
00106         //_
00107         GeometricObjectList geometric_objects_;
00108 
00109         //_
00110         Index drawing_precision_;
00111 
00112         //_
00113         float surface_drawing_precision_;
00114   };
00115 
00116   } // namespace VIEW
00117 } // namespace BALL
00118 
00119 #endif // BALL_VIEW_MODELS_MODELPROCESSOR_H