LibreOffice Module vcl (master)  1
dxfblkrd.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_FILTER_SOURCE_GRAPHICFILTER_IDXF_DXFBLKRD_HXX
21 #define INCLUDED_FILTER_SOURCE_GRAPHICFILTER_IDXF_DXFBLKRD_HXX
22 
23 #include <sal/config.h>
24 
25 #include <string_view>
26 
27 #include "dxfentrd.hxx"
28 
29 
30 //---------------- A Block (= Set of Entities) --------------------------
31 
32 
33 class DXFBlock : public DXFEntities {
34 
35 public:
36 
38  // pointer to the next block in the list DXFBlocks::pFirst
39 
40  // properties of blocks; commented with group codes:
41  OString m_sName; // 2
42  OString m_sAlsoName; // 3
44  DXFVector aBasePoint; // 10,20,30
45  OString m_sXRef; // 1
46 
47  DXFBlock();
48  ~DXFBlock();
49 
50  void Read(DXFGroupReader & rDGR);
51  // reads the block (including entities) from a dxf file
52  // by rGDR until an ENDBLK, ENDSEC or EOF.
53 };
54 
55 
56 //---------------- A set of blocks -----------------------------------
57 
58 
59 class DXFBlocks {
60 
62  // list of blocks, READ ONLY!
63 
64 public:
65 
66  DXFBlocks();
67  ~DXFBlocks();
68 
69  void Read(DXFGroupReader & rDGR);
70  // reads all block per rDGR until an ENDSEC or EOF.
71 
72  DXFBlock * Search(std::string_view rName) const;
73  // looks for a block with the name, return NULL if not successful
74 
75  void Clear();
76  // deletes all blocks
77 
78 };
79 
80 #endif
81 
82 
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
~DXFBlocks()
Definition: dxfblkrd.cxx:75
OString m_sAlsoName
Definition: dxfblkrd.hxx:42
long Long
void Clear()
Definition: dxfblkrd.cxx:113
void Read(DXFGroupReader &rDGR)
Definition: dxfblkrd.cxx:81
DXFBlock * Search(std::string_view rName) const
Definition: dxfblkrd.cxx:103
DXFBlock * pSucc
Definition: dxfblkrd.hxx:37
tools::Long nFlags
Definition: dxfblkrd.hxx:43
OString m_sXRef
Definition: dxfblkrd.hxx:45
DXFVector aBasePoint
Definition: dxfblkrd.hxx:44
OString m_sName
Definition: dxfblkrd.hxx:41
DXFBlock()
Definition: dxfblkrd.cxx:27
DXFBlock * pFirst
Definition: dxfblkrd.hxx:61
void Read(DXFGroupReader &rDGR)
Definition: dxfblkrd.cxx:39
~DXFBlock()
Definition: dxfblkrd.cxx:34