1 /* === S I N F G =========================================================== */
2 /*! \file layer_polygon.h
3 ** \brief Template Header
5 ** $Id: layer_polygon.h,v 1.1.1.1 2005/01/04 01:23:14 darco Exp $
8 ** Copyright (c) 2002 Robert B. Quattlebaum Jr.
10 ** This software and associated documentation
11 ** are CONFIDENTIAL and PROPRIETARY property of
12 ** the above-mentioned copyright holder.
14 ** You may not copy, print, publish, or in any
15 ** other way distribute this software without
16 ** a prior written agreement with
17 ** the copyright holder.
20 /* ========================================================================= */
22 /* === S T A R T =========================================================== */
24 #ifndef __SINFG_LAYER_POLYGON_H
25 #define __SINFG_LAYER_POLYGON_H
27 /* === H E A D E R S ======================================================= */
29 #include "layer_shape.h"
35 /* === M A C R O S ========================================================= */
37 /* === T Y P E D E F S ===================================================== */
39 /* === C L A S S E S & S T R U C T S ======================================= */
43 /*! \class Layer_Polygon
45 ** \todo This layer needs to support multiple polygons */
46 class Layer_Polygon : public Layer_Shape
48 SINFG_LAYER_MODULE_EXT
53 std::vector< Point > vector_list;
63 //! Adds a polygon to the layer
64 /*! The edge data is automaticly added to the
65 ** EdgeTable, so there is no need to call sync()
66 ** after adding a polygon using this function.
67 ** \param point_list A list containing the
68 ** points that define the polygon's parameter.
70 void add_polygon(const std::vector<Point> &point_list);
72 //! Clears out any polygon data
73 /*! Also clears out the EdgeTable, so there is no
74 ** need to call sync() after using this function.
78 //! Updates EdgeTable so it will reflect the parameter data
81 virtual bool set_param(const String & param, const sinfg::ValueBase &value);
83 virtual ValueBase get_param(const String & param)const;
85 virtual Vocab get_param_vocab()const;
89 bool render_polyspan(Surface *surface,PolySpan &polyspan)const;
90 }; // END of Layer_Polygon
92 }; // END of namespace sinfg
93 /* === E N D =============================================================== */