Skip to content

Commit

Permalink
Merge branch 'master' into unordered_map
Browse files Browse the repository at this point in the history
  • Loading branch information
lordofbikes authored Aug 14, 2021
2 parents 22dd642 + f1d7740 commit 19c4bd1
Show file tree
Hide file tree
Showing 22 changed files with 273 additions and 331 deletions.
12 changes: 4 additions & 8 deletions src/drw_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,13 +158,9 @@ enum TransparencyCodes {
*/
class DRW_Coord {
public:
DRW_Coord():x(0), y(0),z(0) {}
DRW_Coord()=default;
DRW_Coord(double ix, double iy, double iz): x(ix), y(iy),z(iz){}

DRW_Coord& operator = (const DRW_Coord& data) {
x = data.x; y = data.y; z = data.z;
return *this;
}
/*!< convert to unitary vector */
void unitize(){
double dist;
Expand All @@ -177,9 +173,9 @@ class DRW_Coord {
}

public:
double x;
double y;
double z;
double x{0};
double y{0};
double z{0};
};


Expand Down
8 changes: 4 additions & 4 deletions src/drw_header.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ void DRW_Header::parseCode(int code, dxfReader *reader){
case 1:
curr->addString(code, reader->getUtf8String());
if (name =="$ACADVER") {
reader->setVersion(curr->content.s, true);
reader->setVersion(*curr->content.s, true);
version = reader->getVersion();
}
break;
Expand All @@ -50,7 +50,7 @@ void DRW_Header::parseCode(int code, dxfReader *reader){
case 3:
curr->addString(code, reader->getUtf8String());
if (name =="$DWGCODEPAGE") {
reader->setCodePage(curr->content.s);
reader->setCodePage(*curr->content.s);
curr->addString(code, reader->getCodePage());
}
break;
Expand Down Expand Up @@ -141,7 +141,7 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
break;
}
writer->writeString(1, varStr);
writer->setVersion(&varStr, true);
writer->setVersion(varStr, true);

getStr("$ACADVER", &varStr);
getStr("$ACADMAINTVER", &varStr);
Expand All @@ -150,7 +150,7 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
varStr = "ANSI_1252";
}
writer->writeString(9, "$DWGCODEPAGE");
writer->setCodePage(&varStr);
writer->setCodePage(varStr);
writer->writeString(3, writer->getCodePage() );
writer->writeString(9, "$INSBASE");
if (getCoord("$INSBASE", &varCoord)) {
Expand Down
48 changes: 20 additions & 28 deletions src/intern/drw_dbg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,70 +14,66 @@
#include <iomanip>
#include "drw_dbg.h"

DRW_dbg *DRW_dbg::instance= NULL;
DRW_dbg *DRW_dbg::instance{nullptr};

/*********private clases*************/
class print_none {
public:
virtual void printS(std::string s){(void)s;}
virtual void printS(const std::string& s){(void)s;}
virtual void printI(long long int i){(void)i;}
virtual void printUI(long long unsigned int i){(void)i;}
virtual void printD(double d){(void)d;}
virtual void printH(long long int i){(void)i;}
virtual void printB(int i){(void)i;}
virtual void printHL(int c, int s, int h){(void)c;(void)s;(void)h;}
virtual void printPT(double x, double y, double z){(void)x;(void)y;(void)z;}
print_none(){}
virtual ~print_none(){}
print_none()=default;
virtual ~print_none()=default;
};

class print_debug : public print_none {
public:
virtual void printS(std::string s);
virtual void printI(long long int i);
virtual void printUI(long long unsigned int i);
virtual void printD(double d);
virtual void printH(long long int i);
virtual void printB(int i);
virtual void printHL(int c, int s, int h);
virtual void printPT(double x, double y, double z);
print_debug();
virtual ~print_debug(){}
void printS(const std::string& s) override;
void printI(long long int i) override;
void printUI(long long unsigned int i) override;
void printD(double d) override;
void printH(long long int i) override;
void printB(int i) override;
void printHL(int c, int s, int h) override;
void printPT(double x, double y, double z) override;
print_debug()=default;
private:
std::ios_base::fmtflags flags;
std::ios_base::fmtflags flags{std::cerr.flags()};
};

/********* debug class *************/
DRW_dbg *DRW_dbg::getInstance(){
if (instance == NULL){
if (!instance){
instance = new DRW_dbg;
}
return instance;
}

DRW_dbg::DRW_dbg(){
level = NONE;
prClass = new print_none;
flags = std::cerr.flags();
prClass.reset( new print_none );
}

void DRW_dbg::setLevel(LEVEL lvl){
level = lvl;
delete prClass;
switch (level){
case DEBUG:
prClass = new print_debug;
prClass.reset(new print_debug);
break;
default:
prClass = new print_none;
prClass.reset(new print_none);
}
}

DRW_dbg::LEVEL DRW_dbg::getLevel(){
return level;
}

void DRW_dbg::print(std::string s){
void DRW_dbg::print(const std::string &s){
prClass->printS(s);
}

Expand Down Expand Up @@ -120,11 +116,7 @@ void DRW_dbg::printPT(double x, double y, double z){
prClass->printPT(x, y, z);
}

print_debug::print_debug(){
flags = std::cerr.flags();
}

void print_debug::printS(std::string s){
void print_debug::printS(const std::string& s){
std::cerr << s;
}

Expand Down
9 changes: 5 additions & 4 deletions src/intern/drw_dbg.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

#include <string>
#include <iostream>
#include <memory>
//#include <iomanip>

#define DRW_DBGSL(a) DRW_dbg::getInstance()->setLevel(a)
Expand All @@ -37,7 +38,7 @@ class DRW_dbg {
void setLevel(LEVEL lvl);
LEVEL getLevel();
static DRW_dbg *getInstance();
void print(std::string s);
void print(const std::string& s);
void print(int i);
void print(unsigned int i);
void print(long long int i);
Expand All @@ -52,9 +53,9 @@ class DRW_dbg {
private:
DRW_dbg();
static DRW_dbg *instance;
LEVEL level;
std::ios_base::fmtflags flags;
print_none* prClass;
LEVEL level{NONE};
std::ios_base::fmtflags flags{std::cerr.flags()};
std::unique_ptr<print_none> prClass;
};


Expand Down
Loading

0 comments on commit 19c4bd1

Please sign in to comment.