/**************************************************************************** ** ** This file is part of the LibreCAD project, a 2D CAD program ** ** Copyright (C) 2010 R. van Twisk (librecad@rvt.dds.nl) ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved. ** ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file gpl-2.0.txt included in the ** packaging of this file. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ** ** This copyright notice MUST APPEAR in all copies of the script! ** **********************************************************************/ /***************************************************************************** ** $Id: test_creationclass.cpp 8865 2008-02-04 18:54:02Z andrew $ ** ** This is part of the dxflib library ** Copyright (C) 2001 Andrew Mustun ** ** This file may be distributed and/or modified under the terms of the ** it under the terms of the GNU Library General Public License as ** published by the Free Software Foundation. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU Library General Public License for more details. ** ** You should have received a copy of the GNU Library General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************************/ #include "test_creationclass.h" #include #include /** * Default constructor. */ Test_CreationClass::Test_CreationClass() {} /** * Sample implementation of the method which handles layers. */ void Test_CreationClass::addLayer(const DL_LayerData& data) { printf("LAYER: %s flags: %d\n", data.name.c_str(), data.flags); printAttributes(); } /** * Sample implementation of the method which handles point entities. */ void Test_CreationClass::addPoint(const DL_PointData& data) { printf("POINT (%6.3f, %6.3f, %6.3f)\n", data.x, data.y, data.z); printAttributes(); } /** * Sample implementation of the method which handles line entities. */ void Test_CreationClass::addLine(const DL_LineData& data) { printf("LINE (%6.3f, %6.3f, %6.3f) (%6.3f, %6.3f, %6.3f)\n", data.x1, data.y1, data.z1, data.x2, data.y2, data.z2); printAttributes(); } /** * Sample implementation of the method which handles arc entities. */ void Test_CreationClass::addArc(const DL_ArcData& data) { printf("ARC (%6.3f, %6.3f, %6.3f) %6.3f, %6.3f, %6.3f\n", data.cx, data.cy, data.cz, data.radius, data.angle1, data.angle2); printAttributes(); } /** * Sample implementation of the method which handles circle entities. */ void Test_CreationClass::addCircle(const DL_CircleData& data) { printf("CIRCLE (%6.3f, %6.3f, %6.3f) %6.3f\n", data.cx, data.cy, data.cz, data.radius); printAttributes(); } /** * Sample implementation of the method which handles polyline entities. */ void Test_CreationClass::addPolyline(const DL_PolylineData& data) { printf("POLYLINE \n"); printf("flags: %d\n", (int)data.flags); printAttributes(); } /** * Sample implementation of the method which handles vertices. */ void Test_CreationClass::addVertex(const DL_VertexData& data) { printf("VERTEX (%6.3f, %6.3f, %6.3f) %6.3f\n", data.x, data.y, data.z, data.bulge); printAttributes(); } void Test_CreationClass::add3dFace(const DL_3dFaceData& data) { printf("3DFACE\n"); for (int i=0; i<4; i++) { printf(" corner %d: %6.3f %6.3f %6.3f\n", i, data.x[i], data.y[i], data.z[i]); } printAttributes(); } void Test_CreationClass::printAttributes() { printf(" Attributes: Layer: %s, ", attributes.getLayer().c_str()); printf(" Color: "); if (attributes.getColor()==256) { printf("BYLAYER"); } else if (attributes.getColor()==0) { printf("BYBLOCK"); } else { printf("%d", attributes.getColor()); } printf(" Width: "); if (attributes.getWidth()==-1) { printf("BYLAYER"); } else if (attributes.getWidth()==-2) { printf("BYBLOCK"); } else if (attributes.getWidth()==-3) { printf("DEFAULT"); } else { printf("%d", attributes.getWidth()); } printf(" Type: %s\n", attributes.getLineType().c_str()); } // EOF