Coverage Report

Created: 2025-12-03 08:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/gdal/ogr/ogrsf_frmts/cad/libopencad/cadclasses.cpp
Line
Count
Source
1
/*******************************************************************************
2
 *  Project: libopencad
3
 *  Purpose: OpenSource CAD formats support library
4
 *  Author: Alexandr Borzykh, mush3d at gmail.com
5
 *  Author: Dmitry Baryshnikov, bishop.dev@gmail.com
6
 *  Language: C++
7
 *******************************************************************************
8
 *  The MIT License (MIT)
9
 *
10
 *  Copyright (c) 2016 Alexandr Borzykh
11
 *  Copyright (c) 2016 NextGIS, <info@nextgis.com>
12
 *
13
  * SPDX-License-Identifier: MIT
14
 *******************************************************************************/
15
#include "cadclasses.h"
16
#include "opencad.h"
17
18
#include <iostream>
19
20
using namespace std;
21
22
//------------------------------------------------------------------------------
23
// CADClass
24
//------------------------------------------------------------------------------
25
26
12.3k
CADClass::CADClass() : sCppClassName(""),
27
12.3k
                sApplicationName(""),
28
12.3k
                sDXFRecordName(""),
29
12.3k
                dProxyCapFlag(0),
30
12.3k
                dInstanceCount(0),
31
12.3k
                bWasZombie(false),
32
12.3k
                bIsEntity(false),
33
12.3k
                dClassNum(0),
34
12.3k
                dClassVersion(0)
35
12.3k
{
36
12.3k
}
37
38
//------------------------------------------------------------------------------
39
// CADClasses
40
//------------------------------------------------------------------------------
41
42
CADClasses::CADClasses()
43
6.82k
{
44
6.82k
}
45
46
void CADClasses::addClass( CADClass stClass )
47
8.71k
{
48
8.71k
    classes.push_back( stClass );
49
50
8.71k
    DebugMsg( "CLASS INFO\n"
51
8.71k
                      "  Class Number: %d\n"
52
8.71k
                      "  Proxy capabilities flag or Version: %d\n"
53
8.71k
                      "  App name: %s\n"
54
8.71k
                      "  C++ Class Name: %s\n"
55
8.71k
                      "  DXF Class name: %s\n"
56
8.71k
                      "  Was a zombie? %x\n"
57
8.71k
                      "  Is-an-entity flag: %x\n\n", stClass.dClassNum, stClass.dProxyCapFlag,
58
8.71k
              stClass.sApplicationName.c_str(), stClass.sCppClassName.c_str(), stClass.sDXFRecordName.c_str(),
59
8.71k
              stClass.bWasZombie, stClass.bIsEntity );
60
8.71k
}
61
62
CADClass CADClasses::getClassByNum( short num ) const
63
5.22k
{
64
5.22k
    for( const CADClass &cadClass : classes )
65
14.1k
    {
66
14.1k
        if( cadClass.dClassNum == num )
67
1.59k
            return cadClass;
68
14.1k
    }
69
3.62k
    return CADClass();
70
5.22k
}
71
72
void CADClasses::print() const
73
0
{
74
0
    cout << "============ CLASSES Section ============\n";
75
76
0
    for( CADClass stClass : classes )
77
0
    {
78
0
        cout << "Class:" <<
79
0
        "\n  Class Number: " << stClass.dClassNum <<
80
0
        "\n  Proxy capabilities flag or Version: " << stClass.dProxyCapFlag <<
81
0
        "\n  App name: " << stClass.sApplicationName <<
82
0
        "\n  C++ Class Name: " << stClass.sCppClassName <<
83
0
        "\n  DXF Class name: " << stClass.sDXFRecordName <<
84
0
        "\n  Was a zombie: " << stClass.bWasZombie <<
85
0
        "\n  Is-an-entity flag: " << stClass.bIsEntity << "\n\n";
86
0
    }
87
0
}