From 6a22af590a137ac2b559c837c1476d6fd48c4394 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sun, 17 Apr 2005 19:10:32 +0000 Subject: [PATCH] Fixed warnings. --- src/osgPlugins/dxf/aci.cpp | 2 +- src/osgPlugins/dxf/dxfEntity.cpp | 16 +- src/osgPlugins/dxf/dxfEntity.h | 363 +++++++++++++++--------------- src/osgPlugins/dxf/dxfReader.cpp | 4 +- src/osgPlugins/dxf/dxfReader.h | 14 +- src/osgPlugins/dxf/dxfSection.cpp | 2 +- src/osgPlugins/dxf/dxfTable.cpp | 2 +- src/osgPlugins/dxf/dxfTable.h | 2 +- 8 files changed, 203 insertions(+), 202 deletions(-) diff --git a/src/osgPlugins/dxf/aci.cpp b/src/osgPlugins/dxf/aci.cpp index ba1e47a91..5127e534b 100644 --- a/src/osgPlugins/dxf/aci.cpp +++ b/src/osgPlugins/dxf/aci.cpp @@ -270,4 +270,4 @@ double aci::table[256*3] = /* 253 */ 0.732,0.732,0.732, /* 254 */ 0.866,0.866,0.866, /* 255 */ 1,1,1 -}; \ No newline at end of file +}; diff --git a/src/osgPlugins/dxf/dxfEntity.cpp b/src/osgPlugins/dxf/dxfEntity.cpp index b3f5319fd..419c00a6b 100644 --- a/src/osgPlugins/dxf/dxfEntity.cpp +++ b/src/osgPlugins/dxf/dxfEntity.cpp @@ -31,7 +31,7 @@ RegisterEntityProxy g_dxfLWPolyline; RegisterEntityProxy g_dxfInsert; void -dxfBasicEntity::assign(dxfFile* dxf, codeValue& cv) +dxfBasicEntity::assign(dxfFile* , codeValue& cv) { switch (cv._groupCode) { case 8: @@ -132,7 +132,7 @@ void dxfCircle::assign(dxfFile* dxf, codeValue& cv) { double d = cv._double; - unsigned short s = cv._short; + //unsigned short s = cv._short; switch (cv._groupCode) { case 10: _center.x() = d; @@ -197,7 +197,7 @@ void dxfArc::assign(dxfFile* dxf, codeValue& cv) { double d = cv._double; - unsigned short s = cv._short; + //unsigned short s = cv._short; switch (cv._groupCode) { case 10: _center.x() = d; @@ -249,7 +249,7 @@ dxfArc::drawScene(scene* sc) end = _endAngle; } double angle_step = DegreesToRadians(end - start); - int numsteps = (end - start)/5; // hurmghf. say 5 degrees? + int numsteps = (int)((end - start)/5.0); // hurmghf. say 5 degrees? if (numsteps * 5 < (end - start)) numsteps++; angle_step /= (double) numsteps; end = DegreesToRadians((-_startAngle)+90.0); @@ -275,7 +275,7 @@ void dxfLine::assign(dxfFile* dxf, codeValue& cv) { double d = cv._double; - unsigned short s = cv._short; + //unsigned short s = cv._short; switch (cv._groupCode) { case 10: _a.x() = d; @@ -318,7 +318,7 @@ dxfLine::drawScene(scene* sc) // don't know why this doesn't work // sc->ocs(m); sc->addLine(getLayer(), _color, _b, _a); - static long lcount = 0; +// static long lcount = 0; // std::cout << ++lcount << " "; // sc->ocs_clear(); } @@ -406,7 +406,7 @@ dxfPolyline::drawScene(scene* sc) std::vector nlist; Vec3d nr; bool nset = false; - dxfVertex* v = NULL; + //dxfVertex* v = NULL; unsigned short ncount; unsigned short mcount; if (_surfacetype ==6) { @@ -547,7 +547,7 @@ dxfPolyline::drawScene(scene* sc) for (unsigned short i = 0; i < _ncount; i++) { dxfVertex* vindice = _indices[i].get(); if (!vindice) continue; - dxfVertex* v = NULL; + //dxfVertex* v = NULL; if (vindice->getIndice4()) { _facetype = 4; d = _vertices[vindice->getIndice4()-1].get()->getVertex(); diff --git a/src/osgPlugins/dxf/dxfEntity.h b/src/osgPlugins/dxf/dxfEntity.h index 3c76fdde1..8be1e3253 100644 --- a/src/osgPlugins/dxf/dxfEntity.h +++ b/src/osgPlugins/dxf/dxfEntity.h @@ -34,253 +34,254 @@ class dxfFile; static inline void getOCSMatrix(osg::Vec3d ocs, osg::Matrix &m) { - static const double one_64th = 1.0/64.0; - m.makeIdentity(); - if (ocs == osg::Vec3d(0,0,1)) return; - osg::Vec3d ax(1,0,0), ay(0,1,0), az(0,0,1); - osg::Vec3d ocsaxis(ocs); - ocsaxis.normalize(); - if (fabs(ocsaxis.x()) < one_64th && fabs(ocsaxis.y()) < one_64th) { - ax = ay ^ ocsaxis; - } else { - ax = az ^ ocsaxis; - } - ax.normalize(); - ay = ocsaxis ^ ax; - ay.normalize(); - m = osg::Matrix( ax.x(), ax.y(), ax.z(), 0, - ay.x(), ay.y(), ay.z(), 0, - ocsaxis.x(), ocsaxis.y(), ocsaxis.z(), 0, - 0,0,0,1); -// m = m.inverse(m); + static const double one_64th = 1.0/64.0; + m.makeIdentity(); + if (ocs == osg::Vec3d(0,0,1)) return; + osg::Vec3d ax(1,0,0), ay(0,1,0), az(0,0,1); + osg::Vec3d ocsaxis(ocs); + ocsaxis.normalize(); + if (fabs(ocsaxis.x()) < one_64th && fabs(ocsaxis.y()) < one_64th) { + ax = ay ^ ocsaxis; + } else { + ax = az ^ ocsaxis; + } + ax.normalize(); + ay = ocsaxis ^ ax; + ay.normalize(); + m = osg::Matrix( ax.x(), ax.y(), ax.z(), 0, + ay.x(), ay.y(), ay.z(), 0, + ocsaxis.x(), ocsaxis.y(), ocsaxis.z(), 0, + 0,0,0,1); +// m = m.inverse(m); } class dxfBasicEntity : public osg::Referenced { public: - dxfBasicEntity() : _color(0) {} - virtual ~dxfBasicEntity() {} - virtual dxfBasicEntity* create() = 0; - virtual const char* name() = 0; - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual void drawScene(scene* sc) {} - const std::string getLayer() const { return _layer; } + dxfBasicEntity() : _color(0) {} + virtual ~dxfBasicEntity() {} + virtual dxfBasicEntity* create() = 0; + virtual const char* name() = 0; + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual void drawScene(scene*) {} + const std::string getLayer() const { return _layer; } protected: - std::string _layer; - unsigned short _color; + std::string _layer; + unsigned short _color; }; class dxfCircle : public dxfBasicEntity { public: - dxfCircle() : _radius(0), _ocs(0,0,1) {} - virtual ~dxfCircle() {} - virtual dxfBasicEntity* create() { return new dxfCircle; } - virtual const char* name() { return "CIRCLE"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual void drawScene(scene* sc); + dxfCircle() : _radius(0), _ocs(0,0,1) {} + virtual ~dxfCircle() {} + virtual dxfBasicEntity* create() { return new dxfCircle; } + virtual const char* name() { return "CIRCLE"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual void drawScene(scene* sc); protected: - osg::Vec3d _center; - double _radius; - osg::Vec3d _ocs; + osg::Vec3d _center; + double _radius; + osg::Vec3d _ocs; }; class dxfArc : public dxfBasicEntity { public: - dxfArc() : _radius(0), _startAngle(0), _endAngle(360), _ocs(0,0,1) {} - virtual ~dxfArc() {} - virtual dxfBasicEntity* create() { return new dxfArc; } - virtual const char* name() { return "ARC"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual void drawScene(scene* sc); + dxfArc() : _radius(0), _startAngle(0), _endAngle(360), _ocs(0,0,1) {} + virtual ~dxfArc() {} + virtual dxfBasicEntity* create() { return new dxfArc; } + virtual const char* name() { return "ARC"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual void drawScene(scene* sc); protected: - osg::Vec3d _center; - double _radius; - double _startAngle; - double _endAngle; - osg::Vec3d _ocs; + osg::Vec3d _center; + double _radius; + double _startAngle; + double _endAngle; + osg::Vec3d _ocs; }; class dxfLine : public dxfBasicEntity { public: - dxfLine() : _ocs(0,0,1) {} - virtual ~dxfLine() {} - virtual dxfBasicEntity* create() { return new dxfLine; } - virtual const char* name() { return "LINE"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual void drawScene(scene* sc); + dxfLine() : _ocs(0,0,1) {} + virtual ~dxfLine() {} + virtual dxfBasicEntity* create() { return new dxfLine; } + virtual const char* name() { return "LINE"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual void drawScene(scene* sc); protected: - osg::Vec3d _a; - osg::Vec3d _b; - osg::Vec3d _ocs; + osg::Vec3d _a; + osg::Vec3d _b; + osg::Vec3d _ocs; }; class dxf3DFace : public dxfBasicEntity { public: - dxf3DFace() - { - _vertices[0] = osg::Vec3d(0,0,0); - _vertices[1] = osg::Vec3d(0,0,0); - _vertices[2] = osg::Vec3d(0,0,0); - _vertices[3] = osg::Vec3d(0,0,0); - } - virtual ~dxf3DFace() {} - virtual dxfBasicEntity* create() { return new dxf3DFace; } - virtual const char* name() { return "3DFACE"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual void drawScene(scene* sc); + dxf3DFace() + { + _vertices[0] = osg::Vec3d(0,0,0); + _vertices[1] = osg::Vec3d(0,0,0); + _vertices[2] = osg::Vec3d(0,0,0); + _vertices[3] = osg::Vec3d(0,0,0); + } + virtual ~dxf3DFace() {} + virtual dxfBasicEntity* create() { return new dxf3DFace; } + virtual const char* name() { return "3DFACE"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual void drawScene(scene* sc); protected: - osg::Vec3d _vertices[4]; + osg::Vec3d _vertices[4]; }; class dxfVertex : public dxfBasicEntity { public: - dxfVertex() : _vertex(osg::Vec3d(0,0,0)), _indice1(0), _indice2(0), _indice3(0), _indice4(0) {} - virtual ~dxfVertex() {} - virtual dxfBasicEntity* create() { return new dxfVertex; } - virtual const char* name() { return "VERTEX"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - void getVertex(double &x, double &y, double &z) { x=_vertex.x();y=_vertex.y();z=_vertex.z(); } - const osg::Vec3d& getVertex() const { return _vertex; } - const unsigned short getIndice1() const { return _indice1; } - const unsigned short getIndice2() const { return _indice2; } - const unsigned short getIndice3() const { return _indice3; } - const unsigned short getIndice4() const { return _indice4; } + dxfVertex() : _vertex(osg::Vec3d(0,0,0)), _indice1(0), _indice2(0), _indice3(0), _indice4(0) {} + virtual ~dxfVertex() {} + virtual dxfBasicEntity* create() { return new dxfVertex; } + virtual const char* name() { return "VERTEX"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + void getVertex(double &x, double &y, double &z) { x=_vertex.x();y=_vertex.y();z=_vertex.z(); } + const osg::Vec3d& getVertex() const { return _vertex; } + const unsigned short getIndice1() const { return _indice1; } + const unsigned short getIndice2() const { return _indice2; } + const unsigned short getIndice3() const { return _indice3; } + const unsigned short getIndice4() const { return _indice4; } protected: - osg::Vec3d _vertex; - unsigned short _indice1, _indice2, _indice3, _indice4; + osg::Vec3d _vertex; + unsigned short _indice1, _indice2, _indice3, _indice4; }; class dxfPolyline : public dxfBasicEntity { public: - dxfPolyline() : _currentVertex(NULL), - _elevation(0.0), - _flag(0), - _mcount(0), - _ncount(0), - _nstart(0), - _nend(0), - _ocs(osg::Vec3d(0,0,1)), - _mdensity(0), - _ndensity(0), - _surfacetype(0) - {} - virtual ~dxfPolyline() {} - virtual dxfBasicEntity* create() { return new dxfPolyline; } - virtual const char* name() { return "POLYLINE"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual int vertexCount() { return _vertices.size(); } - virtual void drawScene(scene* sc); + dxfPolyline() : _currentVertex(NULL), + _elevation(0.0), + _flag(0), + _mcount(0), + _ncount(0), + _nstart(0), + _nend(0), + _ocs(osg::Vec3d(0,0,1)), + _mdensity(0), + _ndensity(0), + _surfacetype(0) + {} + virtual ~dxfPolyline() {} + virtual dxfBasicEntity* create() { return new dxfPolyline; } + virtual const char* name() { return "POLYLINE"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual int vertexCount() { return _vertices.size(); } + virtual void drawScene(scene* sc); protected: - dxfVertex* _currentVertex; - std::vector > _vertices; - std::vector > _indices; - double _elevation; - unsigned short _flag; - unsigned short _mcount; - unsigned short _ncount; - unsigned short _nstart; // 71 - unsigned short _nend; //72 - osg::Vec3d _ocs; //210 220 230 - unsigned short _mdensity; // 73 - unsigned short _ndensity; // 74 - unsigned short _surfacetype; //75 + dxfVertex* _currentVertex; + std::vector > _vertices; + std::vector > _indices; + double _elevation; + unsigned short _flag; + unsigned short _mcount; + unsigned short _ncount; + unsigned short _nstart; // 71 + unsigned short _nend; //72 + osg::Vec3d _ocs; //210 220 230 + unsigned short _mdensity; // 73 + unsigned short _ndensity; // 74 + unsigned short _surfacetype; //75 }; class dxfLWPolyline : public dxfBasicEntity { public: - dxfLWPolyline() : _elevation(0.0), - _flag(0), - _vcount(0), - _ocs(osg::Vec3d(0,0,1)), - _lastv(0,0,0) - {} - virtual ~dxfLWPolyline() {} - virtual dxfBasicEntity* create() { return new dxfLWPolyline; } - virtual const char* name() { return "LWPOLYLINE"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual int vertexCount() { return _vertices.size(); } - virtual void drawScene(scene* sc); + dxfLWPolyline() : + _elevation(0.0), + _flag(0), + _vcount(0), + _ocs(osg::Vec3d(0,0,1)), + _lastv(0,0,0) + {} + virtual ~dxfLWPolyline() {} + virtual dxfBasicEntity* create() { return new dxfLWPolyline; } + virtual const char* name() { return "LWPOLYLINE"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual int vertexCount() { return _vertices.size(); } + virtual void drawScene(scene* sc); protected: - osg::Vec3d _lastv; - std::vector< osg::Vec3d > _vertices; - double _elevation; - unsigned short _flag; - unsigned short _vcount; // 90 - osg::Vec3d _ocs; //210 220 230 + double _elevation; + unsigned short _flag; + unsigned short _vcount; // 90 + osg::Vec3d _ocs; //210 220 230 + osg::Vec3d _lastv; + std::vector< osg::Vec3d > _vertices; }; class dxfInsert : public dxfBasicEntity { public: - dxfInsert() : _block(NULL), - _done(false), - _rotation(0), - _scale(1,1,1), - _point(osg::Vec3d(0,0,0)), - _ocs(osg::Vec3d(0,0,1)) {} - virtual ~dxfInsert() {} - virtual dxfBasicEntity* create() { return new dxfInsert; } - virtual const char* name() { return "INSERT"; } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual void drawScene(scene* sc); + dxfInsert() : _block(NULL), + _done(false), + _rotation(0), + _scale(1,1,1), + _point(osg::Vec3d(0,0,0)), + _ocs(osg::Vec3d(0,0,1)) {} + virtual ~dxfInsert() {} + virtual dxfBasicEntity* create() { return new dxfInsert; } + virtual const char* name() { return "INSERT"; } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual void drawScene(scene* sc); protected: - std::string _blockName; - osg::ref_ptr _block; - bool _done; // since we are on a SEQEND, we must - // make sure not getting values addressed to other - // entities (dxf garble things) in the sequence - double _rotation; - osg::Vec3d _scale; - osg::Vec3d _point; - osg::Vec3d _ocs; + std::string _blockName; + osg::ref_ptr _block; + bool _done; // since we are on a SEQEND, we must + // make sure not getting values addressed to other + // entities (dxf garble things) in the sequence + double _rotation; + osg::Vec3d _scale; + osg::Vec3d _point; + osg::Vec3d _ocs; }; class dxfEntity : public osg::Referenced { public: - dxfEntity(std::string s) : _entity(NULL), _seqend(false) - { - _entity = findByName(s); - if (_entity) { - _entityList.push_back(_entity); - // std::cout << "entity " << s << std::endl; - } - } - virtual void assign(dxfFile* dxf, codeValue& cv); - virtual bool done() { return !_seqend; } - static void registerEntity(dxfBasicEntity*); - static void unregisterEntity(dxfBasicEntity*); - static dxfBasicEntity* findByName(std::string s) - { - dxfBasicEntity* be = _registry[s].get(); - if (be) - return be->create(); - else { - std::cout << " no " << s << std::endl; - return NULL; - } - } - virtual void drawScene(scene* sc); - dxfBasicEntity* getEntity() { return _entity; } + dxfEntity(std::string s) : _entity(NULL), _seqend(false) + { + _entity = findByName(s); + if (_entity) { + _entityList.push_back(_entity); + // std::cout << "entity " << s << std::endl; + } + } + virtual void assign(dxfFile* dxf, codeValue& cv); + virtual bool done() { return !_seqend; } + static void registerEntity(dxfBasicEntity*); + static void unregisterEntity(dxfBasicEntity*); + static dxfBasicEntity* findByName(std::string s) + { + dxfBasicEntity* be = _registry[s].get(); + if (be) + return be->create(); + else { + std::cout << " no " << s << std::endl; + return NULL; + } + } + virtual void drawScene(scene* sc); + dxfBasicEntity* getEntity() { return _entity; } protected: - std::vector > _entityList; - static std::map > _registry; - dxfBasicEntity* _entity; - bool _seqend; // bypass 0 codes. needs a 0 seqend to close. + std::vector > _entityList; + static std::map > _registry; + dxfBasicEntity* _entity; + bool _seqend; // bypass 0 codes. needs a 0 seqend to close. }; /** Proxy class for automatic registration of dxf entities reader/writers.*/ @@ -291,7 +292,7 @@ class RegisterEntityProxy RegisterEntityProxy() { _rw = new T; - dxfEntity::registerEntity(_rw.get()); + dxfEntity::registerEntity(_rw.get()); } ~RegisterEntityProxy() diff --git a/src/osgPlugins/dxf/dxfReader.cpp b/src/osgPlugins/dxf/dxfReader.cpp index e6f8d2f74..2a2c8cb00 100644 --- a/src/osgPlugins/dxf/dxfReader.cpp +++ b/src/osgPlugins/dxf/dxfReader.cpp @@ -185,8 +185,8 @@ dxfReader::openFile(std::string fileName) cout << " Binary DXF not supported. For now. Come back soon." << endl; return false; } - string::size_type lf = sentinel.find('\n'); - string::size_type cr = sentinel.find('\r'); + //string::size_type lf = sentinel.find('\n'); + //string::size_type cr = sentinel.find('\r'); // gossage. un mac peut mettre juste CR. ca fonctionne pas: // if (cr > 0 && (!lf || lf > cr + 1)) // _reader = new readerText('\r'); diff --git a/src/osgPlugins/dxf/dxfReader.h b/src/osgPlugins/dxf/dxfReader.h index 0edf8d9b4..b7c1811f9 100644 --- a/src/osgPlugins/dxf/dxfReader.h +++ b/src/osgPlugins/dxf/dxfReader.h @@ -76,13 +76,13 @@ public: readerBinary() : readerBase() {} virtual ~readerBinary() {} protected: - virtual bool readGroupCode(std::ifstream& f, int &groupcode) {} - virtual bool readValue(std::ifstream& f, std::string &s) {} - virtual bool readValue(std::ifstream& f, bool &b) {} - virtual bool readValue(std::ifstream& f, unsigned short &s) {} - virtual bool readValue(std::ifstream& f, int &i) {} - virtual bool readValue(std::ifstream& f, long &l) {} - virtual bool readValue(std::ifstream& f, double &d) {} + virtual bool readGroupCode(std::ifstream& f, int &groupcode) { return false; } + virtual bool readValue(std::ifstream& f, std::string &s) { return false; } + virtual bool readValue(std::ifstream& f, bool &b) { return false; } + virtual bool readValue(std::ifstream& f, unsigned short &s) { return false; } + virtual bool readValue(std::ifstream& f, int &i) { return false; } + virtual bool readValue(std::ifstream& f, long &l) { return false; } + virtual bool readValue(std::ifstream& f, double &d) { return false; } }; /// dxfReader. gets you through the dxf file, one group code/value pair at a time. diff --git a/src/osgPlugins/dxf/dxfSection.cpp b/src/osgPlugins/dxf/dxfSection.cpp index 10ebb8d35..38ea912ae 100644 --- a/src/osgPlugins/dxf/dxfSection.cpp +++ b/src/osgPlugins/dxf/dxfSection.cpp @@ -14,7 +14,7 @@ #include "dxfEntity.h" #include "dxfBlock.h" -void dxfHeader::assign(dxfFile* dxf, codeValue& cv) +void dxfHeader::assign(dxfFile*, codeValue& cv) { if (cv._groupCode == 9) { _inVariable = true; diff --git a/src/osgPlugins/dxf/dxfTable.cpp b/src/osgPlugins/dxf/dxfTable.cpp index 5e615ffe4..998f3b043 100644 --- a/src/osgPlugins/dxf/dxfTable.cpp +++ b/src/osgPlugins/dxf/dxfTable.cpp @@ -14,7 +14,7 @@ #include "codeValue.h" -void dxfLayer::assign(dxfFile* dxf, codeValue& cv) +void dxfLayer::assign(dxfFile*, codeValue& cv) { switch (cv._groupCode) { case 2: diff --git a/src/osgPlugins/dxf/dxfTable.h b/src/osgPlugins/dxf/dxfTable.h index 6bbe50c93..ce3e03f63 100644 --- a/src/osgPlugins/dxf/dxfTable.h +++ b/src/osgPlugins/dxf/dxfTable.h @@ -29,7 +29,7 @@ class dxfTable : public osg::Referenced public: dxfTable() {} virtual ~dxfTable() {} - virtual void assign(dxfFile* dxf, codeValue& cv) {} + virtual void assign(dxfFile* , codeValue& ) { } };