Coverage Report

Created: 2026-08-11 08:26

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
0
CADClass::CADClass() : sCppClassName(""),
27
0
                sApplicationName(""),
28
0
                sDXFRecordName(""),
29
0
                dProxyCapFlag(0),
30
0
                dInstanceCount(0),
31
0
                bWasZombie(false),
32
0
                bIsEntity(false),
33
0
                dClassNum(0),
34
0
                dClassVersion(0)
35
0
{
36
0
}
37
38
//------------------------------------------------------------------------------
39
// CADClasses
40
//------------------------------------------------------------------------------
41
42
CADClasses::CADClasses()
43
0
{
44
0
}
45
46
void CADClasses::addClass( CADClass stClass )
47
0
{
48
0
    classes.push_back( stClass );
49
50
0
    DebugMsg( "CLASS INFO\n"
51
0
                      "  Class Number: %d\n"
52
0
                      "  Proxy capabilities flag or Version: %d\n"
53
0
                      "  App name: %s\n"
54
0
                      "  C++ Class Name: %s\n"
55
0
                      "  DXF Class name: %s\n"
56
0
                      "  Was a zombie? %x\n"
57
0
                      "  Is-an-entity flag: %x\n\n", stClass.dClassNum, stClass.dProxyCapFlag,
58
0
              stClass.sApplicationName.c_str(), stClass.sCppClassName.c_str(), stClass.sDXFRecordName.c_str(),
59
0
              stClass.bWasZombie, stClass.bIsEntity );
60
0
}
61
62
CADClass CADClasses::getClassByNum( short num ) const
63
0
{
64
0
    for( const CADClass &cadClass : classes )
65
0
    {
66
0
        if( cadClass.dClassNum == num )
67
0
            return cadClass;
68
0
    }
69
0
    return CADClass();
70
0
}
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
}