summaryrefslogtreecommitdiff
path: root/filter/source/graphicfilter/idxf/dxfentrd.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/graphicfilter/idxf/dxfentrd.hxx')
-rw-r--r--filter/source/graphicfilter/idxf/dxfentrd.hxx539
1 files changed, 0 insertions, 539 deletions
diff --git a/filter/source/graphicfilter/idxf/dxfentrd.hxx b/filter/source/graphicfilter/idxf/dxfentrd.hxx
deleted file mode 100644
index 35b05bdbf4dc..000000000000
--- a/filter/source/graphicfilter/idxf/dxfentrd.hxx
+++ /dev/null
@@ -1,539 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FILTER_SOURCE_GRAPHICFILTER_IDXF_DXFENTRD_HXX
-#define INCLUDED_FILTER_SOURCE_GRAPHICFILTER_IDXF_DXFENTRD_HXX
-
-#include "dxfgrprd.hxx"
-#include "dxfvec.hxx"
-#include <tools/long.hxx>
-
-#include <memory>
-#include <vector>
-
-enum DXFEntityType {
- DXF_LINE,
- DXF_POINT,
- DXF_CIRCLE,
- DXF_ARC,
- DXF_TRACE,
- DXF_SOLID,
- DXF_TEXT,
- DXF_SHAPE,
- DXF_INSERT,
- DXF_ATTDEF,
- DXF_ATTRIB,
- DXF_POLYLINE,
- DXF_VERTEX,
- DXF_SEQEND,
- DXF_3DFACE,
- DXF_DIMENSION,
- DXF_LWPOLYLINE,
- DXF_HATCH
-};
-
-// base class of an entity
-
-class DXFBasicEntity {
-
-public:
-
- DXFBasicEntity * pSucc;
- // pointer to next entity (in the list of DXFEntities.pFirst)
-
- DXFEntityType eType;
- // entity kind (line or circle or what)
-
- // properties that all entities have, each
- // commented with group codes:
- OString m_sLayer; // 8
- OString m_sLineType; // 6
- double fThickness; // 39
- tools::Long nColor; // 62
- tools::Long nSpace; // 67
- DXFVector aExtrusion; // 210,220,230
-
-protected:
-
- DXFBasicEntity(DXFEntityType eThisType);
- // always initialize the constructors of entities with default values
-
-public:
-
- virtual ~DXFBasicEntity();
- void Read(DXFGroupReader & rDGR);
- // Reads a parameter till the next 0-group
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR);
- // This method will be called by Read() for every parameter (respectively
- // for every group).
- // As far as the group code of the entity is known, the corresponding
- // parameter is fetched.
-
-};
-
-
-// the different kinds of entities
-
-class DXFLineEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- DXFVector aP1; // 11,21,31
-
- DXFLineEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFPointEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
-
- DXFPointEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFCircleEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- double fRadius; // 40
-
- DXFCircleEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFArcEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- double fRadius; // 40
- double fStart; // 50
- double fEnd; // 51
-
- DXFArcEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFTraceEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- DXFVector aP1; // 11,21,31
- DXFVector aP2; // 12,22,32
- DXFVector aP3; // 13,23,33
-
- DXFTraceEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFSolidEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- DXFVector aP1; // 11,21,31
- DXFVector aP2; // 12,22,32
- DXFVector aP3; // 13,23,33
-
- DXFSolidEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFTextEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- double fHeight; // 40
- OString m_sText; // 1
- double fRotAngle; // 50
- double fXScale; // 41
- double fOblAngle; // 42
- OString m_sStyle; // 7
- tools::Long nGenFlags; // 71
- tools::Long nHorzJust; // 72
- tools::Long nVertJust; // 73
- DXFVector aAlign; // 11,21,31
-
- DXFTextEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFShapeEntity : public DXFBasicEntity {
-
- DXFVector aP0; // 10,20,30
- double fSize; // 40
- OString m_sName; // 2
- double fRotAngle; // 50
- double fXScale; // 41
- double fOblAngle; // 51
-
-public:
-
- DXFShapeEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFInsertEntity : public DXFBasicEntity {
-
-public:
-
- tools::Long nAttrFlag; // 66
- OString m_sName; // 2
- DXFVector aP0; // 10,20,30
- double fXScale; // 41
- double fYScale; // 42
- double fZScale; // 43
- double fRotAngle; // 50
- tools::Long nColCount; // 70
- tools::Long nRowCount; // 71
- double fColSpace; // 44
- double fRowSpace; // 45
-
- DXFInsertEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFAttDefEntity : public DXFBasicEntity {
-
- DXFVector aP0; // 10,20,30
- double fHeight; // 40
- OString m_sDefVal; // 1
- OString m_sPrompt; // 3
- OString m_sTagStr; // 2
- tools::Long nAttrFlags; // 70
- tools::Long nFieldLen; // 73
- double fRotAngle; // 50
- double fXScale; // 41
- double fOblAngle; // 51
- OString m_sStyle; // 7
- tools::Long nGenFlags; // 71
- tools::Long nHorzJust; // 72
- tools::Long nVertJust; // 74
- DXFVector aAlign; // 11,21,31
-
-public:
-
- DXFAttDefEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFAttribEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- double fHeight; // 40
- OString m_sText; // 1
- OString m_sTagStr; // 2
- tools::Long nAttrFlags; // 70
- tools::Long nFieldLen; // 73
- double fRotAngle; // 50
- double fXScale; // 41
- double fOblAngle; // 51
- OString m_sStyle; // 7
- tools::Long nGenFlags; // 71
- tools::Long nHorzJust; // 72
- tools::Long nVertJust; // 74
- DXFVector aAlign; // 11,21,31
-
- DXFAttribEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFPolyLineEntity : public DXFBasicEntity {
-
-public:
-
- tools::Long nFlags; // 70
- double fSWidth; // 40
- double fEWidth; // 41
- tools::Long nMeshMCount; // 71
- tools::Long nMeshNCount; // 72
- tools::Long nMDensity; // 73
- tools::Long nNDensity; // 74
- tools::Long nCSSType; // 75
-
- DXFPolyLineEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFLWPolyLineEntity : public DXFBasicEntity
-{
- sal_Int32 nIndex;
- sal_Int32 nCount; // 90
-
- public:
-
- sal_Int32 nFlags; // 70 1 = closed, 128 = plinegen
- double fConstantWidth; // 43 (optional - default: 0, not used if fStartWidth and/or fEndWidth is used)
- double fStartWidth; // 40
- double fEndWidth; // 41
-
- std::vector<DXFVector> aP;
-
- DXFLWPolyLineEntity();
-
- protected:
-
- virtual void EvaluateGroup( DXFGroupReader & rDGR ) override;
-
-};
-
-struct DXFEdgeType
-{
- sal_Int32 nEdgeType;
-
- virtual ~DXFEdgeType(){};
- virtual bool EvaluateGroup( DXFGroupReader & /*rDGR*/ ){ return true; };
-
- protected:
-
- DXFEdgeType( sal_Int32 EdgeType ):nEdgeType(EdgeType){};
-};
-
-struct DXFEdgeTypeLine : public DXFEdgeType
-{
- DXFVector aStartPoint; // 10,20
- DXFVector aEndPoint; // 11,21
- DXFEdgeTypeLine();
- virtual bool EvaluateGroup( DXFGroupReader & rDGR ) override;
-};
-
-struct DXFEdgeTypeCircularArc : public DXFEdgeType
-{
- DXFVector aCenter; // 10,20
- double fRadius; // 40
- double fStartAngle; // 50
- double fEndAngle; // 51
- sal_Int32 nIsCounterClockwiseFlag; // 73
- DXFEdgeTypeCircularArc();
- virtual bool EvaluateGroup( DXFGroupReader & rDGR ) override;
-};
-
-struct DXFEdgeTypeEllipticalArc : public DXFEdgeType
-{
- DXFVector aCenter; // 10,20
- DXFVector aEndPoint; // 11,21
- double fLength; // 40
- double fStartAngle; // 50
- double fEndAngle; // 51
- sal_Int32 nIsCounterClockwiseFlag; // 73
-
- DXFEdgeTypeEllipticalArc();
- virtual bool EvaluateGroup( DXFGroupReader & rDGR ) override;
-};
-
-struct DXFEdgeTypeSpline : public DXFEdgeType
-{
- sal_Int32 nDegree; // 94
- sal_Int32 nRational; // 73
- sal_Int32 nPeriodic; // 74
- sal_Int32 nKnotCount; // 75
- sal_Int32 nControlCount; // 76
-
- DXFEdgeTypeSpline();
- virtual bool EvaluateGroup( DXFGroupReader & rDGR ) override;
-};
-
-struct DXFBoundaryPathData
-{
-private:
- sal_Int32 nPointCount; // 93
-public:
- sal_Int32 nFlags; // 92
- sal_Int32 nHasBulgeFlag; // 72
- sal_Int32 nIsClosedFlag; // 73
- double fBulge; // 42
- sal_Int32 nSourceBoundaryObjects; // 97
- sal_Int32 nEdgeCount; // 93
-
- bool bIsPolyLine;
- sal_Int32 nPointIndex;
-
- std::vector<DXFVector> aP;
- std::vector<std::unique_ptr<DXFEdgeType>> aEdges;
-
- DXFBoundaryPathData();
- ~DXFBoundaryPathData();
-
- bool EvaluateGroup( DXFGroupReader & rDGR );
-};
-
-class DXFHatchEntity : public DXFBasicEntity
-{
- bool bIsInBoundaryPathContext;
- sal_Int32 nCurrentBoundaryPathIndex;
-
- public:
-
- sal_Int32 nFlags; // 70 (solid fill = 1, pattern fill = 0)
- sal_Int32 nAssociativityFlag; // 71 (associative = 1, non-associative = 0)
- sal_Int32 nBoundaryPathCount; // 91
- sal_Int32 nHatchStyle; // 75 (odd parity = 0, outmost area = 1, entire area = 2 )
- sal_Int32 nHatchPatternType; // 76 (user defined = 0, predefined = 1, custom = 2)
- double fHatchPatternAngle; // 52 (pattern fill only)
- double fHatchPatternScale; // 41 (pattern fill only:scale or spacing)
- sal_Int32 nHatchDoubleFlag; // 77 (pattern fill only:double = 1, not double = 0)
- sal_Int32 nHatchPatternDefinitionLines; // 78
- double fPixelSize; // 47
- sal_Int32 nNumberOfSeedPoints; // 98
-
- std::unique_ptr<DXFBoundaryPathData[]> pBoundaryPathData;
-
- DXFHatchEntity();
-
- protected:
-
- virtual void EvaluateGroup( DXFGroupReader & rDGR ) override;
-};
-
-class DXFVertexEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- double fSWidth; // 40 (if <0.0, then one has DXFPolyLine::fSWidth)
- double fEWidth; // 41 (if <0.0, then one has DXFPolyLine::fEWidth)
- double fBulge; // 42
- tools::Long nFlags; // 70
- double fCFTDir; // 50
-
- DXFVertexEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFSeqEndEntity : public DXFBasicEntity {
-
-public:
-
- DXFSeqEndEntity();
-};
-
-class DXF3DFaceEntity : public DXFBasicEntity {
-
-public:
-
- DXFVector aP0; // 10,20,30
- DXFVector aP1; // 11,21,31
- DXFVector aP2; // 12,22,32
- DXFVector aP3; // 13,23,33
- tools::Long nIEFlags; // 70
-
- DXF3DFaceEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-class DXFDimensionEntity : public DXFBasicEntity {
-
-public:
-
- OString m_sPseudoBlock; // 2
-
- DXFDimensionEntity();
-
-protected:
-
- virtual void EvaluateGroup(DXFGroupReader & rDGR) override;
-};
-
-
-// read and represent the set of entities
-class DXFEntities {
-
-public:
-
- DXFEntities()
- : pFirst(nullptr)
- , mbBeingDrawn(false)
- {
- }
-
- ~DXFEntities()
- {
- Clear();
- }
-
- DXFBasicEntity * pFirst; // list of entities, READ ONLY!
- mutable bool mbBeingDrawn; // guard for loop in entity parsing
-
- void Read(DXFGroupReader & rDGR);
- // read entities by rGDR of a DXF file until a
- // ENDBLK, ENDSEC or EOF (of group 0).
- // (all unknown thing will be skipped)
-
- void Clear();
- // deletes all entities
-};
-
-#endif
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */