| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        dxfrenderer.h
 
- // Purpose:     DXF reader and renderer
 
- // Author:      Sandro Sigala
 
- // Modified by:
 
- // Created:     2005-11-10
 
- // Copyright:   (c) Sandro Sigala
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _DXFRENDERER_H_
 
- #define _DXFRENDERER_H_
 
- struct DXFVector
 
- {
 
-     DXFVector() { x = y = z = 0.0f; }
 
-     DXFVector(float _x, float _y, float _z) { x = _x; y = _y; z = _z; }
 
-     float x, y, z;
 
- };
 
- struct DXFEntity
 
- {
 
-     enum Type { Line, Face } type;
 
-     int colour;
 
- };
 
- struct DXFLine: public DXFEntity
 
- {
 
-     DXFLine() { type = Line; }
 
-     DXFVector v0;
 
-     DXFVector v1;
 
- };
 
- struct DXFFace: public DXFEntity
 
- {
 
-     DXFFace() { type = Face; }
 
-     void CalculateNormal();
 
-     DXFVector v0;
 
-     DXFVector v1;
 
-     DXFVector v2;
 
-     DXFVector v3;
 
-     DXFVector n;       // normal
 
- };
 
- struct DXFLayer
 
- {
 
-     DXFLayer() { colour = -1; }
 
-     wxString name;
 
-     int colour;
 
- };
 
- WX_DECLARE_LIST(DXFEntity, DXFEntityList);
 
- WX_DECLARE_LIST(DXFLayer, DXFLayerList);
 
- class DXFRenderer
 
- {
 
- public:
 
-     DXFRenderer();
 
-     ~DXFRenderer();
 
-     void Clear();
 
-     bool Load(wxInputStream& stream);
 
-     bool IsOk() const { return m_loaded; }
 
-     void Render() const;
 
- private:
 
-     bool ParseHeader(wxInputStream& stream);
 
-     bool ParseTables(wxInputStream& stream);
 
-     bool ParseEntities(wxInputStream& stream);
 
-     int GetLayerColour(const wxString& layer) const;
 
-     void NormalizeEntities();
 
-     bool m_loaded;
 
-     DXFLayerList m_layers;
 
-     DXFEntityList m_entities;
 
- };
 
- #endif // !_DXFRENDERER_H_
 
 
  |