arc.h Source File

Main Page Class Hierarchy Compound List File List Compound Members

# arc.h

    00001
    00002
    00003 /*
    00004 Program ARC.H
    00005 */
    00006
    00007
    00008 #ifndef ARCSEG_H
    00009 #define ARCSEG_H
    00010
    00011 #ifdef __GNUG__
    00012 #pragma interface
    00013 #endif
    00014
    00017 #include "misc.h"
    00018 #include "wxmatrix.h"
    00019 #include "polyline.h"
    00020 #include "gdserr.h"
    00021 #include "shape.h"
    00022 #include "path.h"
    00023 #include <wx/image.h>
    00024
    00025 class DrawDriver;
    00026 class Driver_out;
    00027
    00028
    00029
    00030
    00031 //:defenition
    00036 class Arcseg : public Shape
    00037 {
    00038         public:
    00039                 // Constructors and destructors
    00040                 Arcseg(int layernr = 0);
    00041                 ~Arcseg();
    00042
    00043       void OWrite(Driver_out& where);
    00044       void DoWrite(DrawDriver& dr);
    00045
    00046                 BoundingBox&                    CalcBoundingBox();
    00047                 int                                             GetDatatype();
    00048                 G_Polyline*             GetPolyline();
    00049                 void                                            SetDatatype(int);
    00050                 void                                  SetPolyline(G_Polyline*);
    00051                 TYPE                                            GetType() {return ARCSEG;};
    00052                 void                                            Transform(wxTransformMatrix* _Matrix);
    00053                 Element*                                        Duplicate();
    00054
    00055                 Arcseg&                                         operator=(Arcseg &other);
    00056                 void                    Convert(G_Polygon* _converted, double);
    00057
    00058                 bool                          Select(Point*);
    00059                 bool                          Select(BoundingBox*,wxTransformMatrix*);
    00060       wxPropertySheet*          GetPropList();
    00061                 void                                            UpdatePropList();
    00062
    00063         protected:
    00064
    00065                 G_Polyline*                             _polyline;
    00066                 int                                             _datatype;
    00067 };
    00068
    00069 //:defenition
    00073 class Box : public Shape
    00074 {
    00075         public:
    00076                 // Constructors and destructors
    00077                 Box(int layernr = 0);
    00078                 ~Box();
    00079
    00080       void OWrite(Driver_out& where);
    00081       void DoWrite(DrawDriver& dr);
    00082
    00083                 BoundingBox&                    CalcBoundingBox();
    00084                 int                                             GetBoxtype();
    00085                 void                                            SetBoxtype(int);
    00086                 void                                            Set(G_Polygon* a_rec_poly);
    00087                 void                                            Set(double x_centre,double y_centre,double ang, double w, double h);
    00088       double               GetW();
    00089       double               GetH();
    00090                 void                                            SetW(double w);
    00091                 void                                            SetH(double h);
    00092                 TYPE                                            GetType() {return BOX;};
    00093                 void                                            Transform(wxTransformMatrix* _Matrix);
    00094                 void                                            Convert(G_Polygon* _polygon, double marge);
    00095
    00096                 Element*                                        Duplicate();
    00097                 Box&                                            operator=(Box &other);
    00098
    00099                 bool                             Select(Point*);
    00100                 bool                             Select(BoundingBox*,wxTransformMatrix*);
    00101                 void                 SetRelativeMatrix(wxTransformMatrix* m);
    00102                 wxTransformMatrix*   GetRelativeMatrix();
    00103       wxPropertySheet*          GetPropList();
    00104                 void                                            UpdatePropList();
    00105
    00106         protected:
    00107
    00108       double                                    _w;
    00109       double                                    _h;
    00110       wxTransformMatrix         _relative_matrix;
    00111                 int                                             _boxtype;
    00112 };
    00113
    00114 //:defenition
    00118 class Circle: public Shape
    00119 {
    00120         public:
    00121                 // Constructors and destructors
    00122                 Circle(int layernr = 0);
    00123                 ~Circle();
    00124
    00125       void OWrite(Driver_out& where);
    00126       void DoWrite(DrawDriver& dr);
    00127
    00128                 BoundingBox&                    CalcBoundingBox();
    00129                 int                                             GetDatatype();
    00130                 void                                            SetDatatype(int);
    00131                 TYPE                                            GetType() {return CIRCLE;};
    00132                 void                                            Transform(wxTransformMatrix* _Matrix);
    00133                 Point&                                  GetMid();
    00134                 double                                  GetRadius();
    00135                 void                                            SetRadius(double radius);
    00136                 void                                            SetMid(const Point& a_point);
    00137                 void                                            SetMid(double X,double Y);
    00138                 void                                            Convert(G_Polygon* _polygon, double marge);
    00139
    00140                 Element*                                        Duplicate();
    00141                 Circle&                                         operator=(Circle &other);
    00142
    00143                 bool                          Select(Point*);
    00144                 bool                          Select(BoundingBox*,wxTransformMatrix*);
    00145       wxPropertySheet*          GetPropList();
    00146                 void                                            UpdatePropList();
    00147
    00148         protected:
    00149
    00150                 Point                _mid;
    00151                 double              _radius;
    00152                 int                                             _datatype;
    00153 };
    00154
    00155 //:defenition
    00159 class Image: public Shape
    00160 {
    00161         public:
    00162                 // Constructors and destructors
    00163                 Image(int layernr,const wxString& path);
    00164                 Image();
    00165                 ~Image();
    00166
    00167       void OWrite(Driver_out& where);
    00168       void DoWrite(DrawDriver& dr);
    00169
    00170                 BoundingBox&                    CalcBoundingBox();
    00171                 TYPE                                            GetType() {return IMAGE;};
    00172                 void                                            Transform(wxTransformMatrix* _Matrix);
    00173                 Point                                   GetPosition();
    00174                 void                                            SetPosition(Point *a_point);
    00175                 void                                            SetPosition(double X,double Y);
    00176
    00177                 Element*                                        Duplicate();
    00178                 Image&                                  operator=(Image &other);
    00179
    00180                 bool                            Select(Point*);
    00181                 bool                            Select(BoundingBox*,wxTransformMatrix*);
    00182       wxPropertySheet*          GetPropList();
    00183                 void                                            UpdatePropList();
    00184                 void                                            Convert(G_Polygon* _polygon, double aber);
    00185       wxImage              GetImage(){return m_image;}
    00186
    00187       double                                    GetH();
    00188       void                                              SetH(double newheight);
    00189                 void                                            SetRotation(double rotation);
    00190                 double                                  GetRotation();
    00191       double                                    GetW();
    00192       void                 SetW(double width);
    00193       void                 SetPictureType(const wxString& type);
    00194       wxString             GetPictureType();
    00195       void                 SetPath(const wxString& path);
    00196       wxString             GetPath();
    00197                 void                 SetRelativeMatrix(wxTransformMatrix* m);
    00198                 wxTransformMatrix*   GetRelativeMatrix();
    00199
    00200
    00201         protected:
    00202       double                                    m_w;
    00203       double                                    m_h;
    00204       wxImage              m_image;
    00205       wxString                                  m_path;
    00206       wxTransformMatrix         _relative_matrix;
    00207       wxString                                  m_type;
    00208 };
    00209
    00210 //:defenition
    00214 class SLine : public Shape
    00215 {
    00216         public:
    00217                 // Constructors and destructors
    00218                 SLine(int layernr = 0);
    00219                 ~SLine();
    00220
    00221       void OWrite(Driver_out& where);
    00222       void DoWrite(DrawDriver& dr);
    00223
    00224                 BoundingBox&                    CalcBoundingBox();
    00225                 void                                            Set(double x1,double y1,double x2, double y2);
    00226       double               GetX1(){return m_x1;};
    00227       double               GetY1(){return m_y1;};
    00228       double               GetX2(){return m_x2;};
    00229       double               GetY2(){return m_y2;};
    00230       void                 SetX1(double v){m_x1=v;};
    00231       void                 SetY1(double v){m_y1=v;};
    00232       void                 SetX2(double v){m_x2=v;};
    00233       void                 SetY2(double v){m_y2=v;};
    00234                 TYPE                                            GetType() {return SLINE;};
    00235                 void                                            Transform(wxTransformMatrix* _Matrix);
    00236                 void                                            Convert(G_Polygon* _polygon, double marge);
    00237
    00238                 Element*                                        Duplicate();
    00239                 SLine&                                  operator=(SLine &other);
    00240
    00241                 bool                             Select(Point*);
    00242                 bool                             Select(BoundingBox*,wxTransformMatrix*);
    00243       wxPropertySheet*          GetPropList();
    00244                 void                                            UpdatePropList();
    00245
    00246                 void                                  SetPathtype(PATHTYPE);
    00247                 PATHTYPE                         GetPathtype();
    00248
    00249         protected:
    00250
    00251                 PATHTYPE                                        m_pathtype;
    00252       Structure*           m_arrow;
    00253       double                                    m_x1;
    00254       double                                    m_y1;
    00255       double                                    m_x2;
    00256       double                                    m_y2;
    00257
    00258 };
    00259 #endif
    00260

arc.h Source File -- Thu Nov 28 21:24:55 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . -- Main Page