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#pragma once
21
22#include <sal/config.h>
23
24#include <string_view>
25
26#include "dxfentrd.hxx"
27
28
29//---------------- A Block (= Set of Entities) --------------------------
30
31
32class DXFBlock : public DXFEntities {
33
34public:
35
37 // pointer to the next block in the list DXFBlocks::pFirst
38
39 // properties of blocks; commented with group codes:
40 OString m_sName; // 2
41 OString m_sAlsoName; // 3
43 DXFVector aBasePoint; // 10,20,30
44 OString m_sXRef; // 1
45
46 DXFBlock();
47 ~DXFBlock();
48
49 void Read(DXFGroupReader & rDGR);
50 // reads the block (including entities) from a dxf file
51 // by rGDR until an ENDBLK, ENDSEC or EOF.
52};
53
54
55//---------------- A set of blocks -----------------------------------
56
57
58class DXFBlocks {
59
61 // list of blocks, READ ONLY!
62
63public:
64
65 DXFBlocks();
66 ~DXFBlocks();
67
68 void Read(DXFGroupReader & rDGR);
69 // reads all block per rDGR until an ENDSEC or EOF.
70
71 DXFBlock * Search(std::string_view rName) const;
72 // looks for a block with the name, return NULL if not successful
73
74 void Clear();
75 // deletes all blocks
76
77};
78
79/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
~DXFBlock()
Definition: dxfblkrd.cxx:34
tools::Long nFlags
Definition: dxfblkrd.hxx:42
DXFVector aBasePoint
Definition: dxfblkrd.hxx:43
void Read(DXFGroupReader &rDGR)
Definition: dxfblkrd.cxx:39
DXFBlock * pSucc
Definition: dxfblkrd.hxx:36
OString m_sXRef
Definition: dxfblkrd.hxx:44
OString m_sName
Definition: dxfblkrd.hxx:40
DXFBlock()
Definition: dxfblkrd.cxx:27
OString m_sAlsoName
Definition: dxfblkrd.hxx:41
~DXFBlocks()
Definition: dxfblkrd.cxx:75
void Read(DXFGroupReader &rDGR)
Definition: dxfblkrd.cxx:81
DXFBlock * pFirst
Definition: dxfblkrd.hxx:60
DXFBlock * Search(std::string_view rName) const
Definition: dxfblkrd.cxx:103
void Clear()
Definition: dxfblkrd.cxx:113
long Long