Skip to content

Commit 58141c2

Browse files
author
Nicholas Reed
committed
move classes to break cyclic dependency and document in clstepcore/README
1 parent df2bb7e commit 58141c2

18 files changed

Lines changed: 54 additions & 45 deletions

src/cleditor/CMakeLists.txt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@ set(LIBSTEPEDITOR_SRCS
33
STEPfile.cc
44
STEPfile.inline.cc
55
cmdmgr.cc
6-
dispnode.cc
7-
dispnodelist.cc
8-
instmgr.cc
9-
mgrnode.cc
10-
mgrnodearray.cc
11-
mgrnodelist.cc
12-
needFunc.cc
136
SdaiHeaderSchema.cc
147
SdaiHeaderSchemaAll.cc
158
SdaiHeaderSchemaInit.cc
@@ -19,14 +12,7 @@ set(LIBSTEPEDITOR_SRCS
1912
SET(LIBSTEPEDITOR_PRIVATE_HDRS
2013
STEPfile.h
2114
cmdmgr.h
22-
dispnode.h
23-
dispnodelist.h
2415
editordefines.h
25-
instmgr.h
26-
mgrnode.h
27-
mgrnodearray.h
28-
mgrnodelist.h
29-
needFunc.h
3016
SdaiHeaderSchema.h
3117
SdaiHeaderSchemaClasses.h
3218
SdaiSchemaInit.h

src/cleditor/README

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,34 +20,11 @@ ReplicateLinkNode and ReplicateList (specializations of the single
2020
linked list data structure) are defined to support the implementation
2121
of CmdMgr.
2222

23-
dispnode.cc, dispnode.h
24-
Defines DisplayNode, a class encapsulating all display information for
25-
an entity.
26-
27-
dispnodelist.cc, dispnodelist.h
28-
Implements list operations for DisplayNode objects.
29-
3023
editordefines.h
3124
Defines two enumeration types, displayStateEnum and stateEnum, and
3225
defines a collection of constants used by STEPfile objects for reading
3326
and writing files containing state information from the editing session.
3427

35-
instmgr.cc, instmgr.h
36-
Defines InstMgr, a class that keeps a master list of instances in the
37-
current editing session.
38-
39-
mgrnode.cc, mgrnode.h
40-
Defines the class MgrNode, used to represent a STEPentity along with
41-
its state information and its display information. By associating a
42-
STEPentity with a DisplayNode, this class hides the implementation of
43-
an application's user interface from the application model.
44-
45-
mgrnodearray.cc, mgrnodearray.h
46-
Implements array operations for MgrNode objects.
47-
48-
mgrnodelist.cc, mgrnodelist.h
49-
Implements list operations for MgrNode objects.
50-
5128
s_HEADER_SCHEMA.cc, s_HEADER_SCHEMA.h, s_HEADER_SCHEMA.init.cc
5229
These files are generated by fedex_plus using the header schema from
5330
Part 21. The header schema specifies the information in the header

src/clstepcore/CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ set(LIBSTEPCORE_SRCS
2525
match-ors.cc
2626
trynext.cc
2727
print.cc
28+
instmgr.cc
29+
mgrnode.cc
30+
mgrnodearray.cc
31+
mgrnodelist.cc
32+
dispnode.cc
33+
dispnodelist.cc
34+
needFunc.cc
2835
)
2936

3037
SET(LIBSTEPCORE_PRIVATE_HDRS
@@ -43,6 +50,13 @@ SET(LIBSTEPCORE_PRIVATE_HDRS
4350
STEPattributeList.h
4451
STEPcomplex.h
4552
STEPundefined.h
53+
instmgr.h
54+
mgrnode.h
55+
mgrnodearray.h
56+
mgrnodelist.h
57+
dispnode.h
58+
dispnodelist.h
59+
needFunc.h
4660
)
4761

4862
include_directories(

src/clstepcore/README

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ core classes use a common set of virtual functions for reading and
77
writing to exchange files, reading and writing user interface formats,
88
and validating their data.
99

10+
This directory also contains the InstMgr class and the classes which
11+
help implement it. These were moved into core from the editor library
12+
in order to break a cyclic dependency. InstMgr is used in the public
13+
methods of both the core and editor libraries. Until it is known for
14+
certain that no code passes InstMgr objects between the methods of
15+
the two libraries, it will not be safe to simply remove usages from
16+
either library in order to break the interdependency.
17+
1018
Directory Contents:
1119

1220
sdaiEnum.cc, sdaiEnum.h
@@ -76,3 +84,27 @@ This file is basically a bunch of #include statements for all of the
7684
header files corresponding to the specifications in Annex D of Part 22
7785
(the proposaed SDAI/C++ language binding). Defines STEPentity, the
7886
abstract base class of all generated entity classes.
87+
88+
from cleditor:
89+
dispnode.cc, dispnode.h
90+
Defines DisplayNode, a class encapsulating all display information for
91+
an entity.
92+
93+
dispnodelist.cc, dispnodelist.h
94+
Implements list operations for DisplayNode objects.
95+
96+
instmgr.cc, instmgr.h
97+
Defines InstMgr, a class that keeps a master list of instances in the
98+
current editing session.
99+
100+
mgrnode.cc, mgrnode.h
101+
Defines the class MgrNode, used to represent a STEPentity along with
102+
its state information and its display information. By associating a
103+
STEPentity with a DisplayNode, this class hides the implementation of
104+
an application's user interface from the application model.
105+
106+
mgrnodearray.cc, mgrnodearray.h
107+
Implements array operations for MgrNode objects.
108+
109+
mgrnodelist.cc, mgrnodelist.h
110+
Implements list operations for MgrNode objects.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class MgrNode;
3232
// class DisplayNode
3333
//////////////////////////////////////////////////////////////////////////////
3434

35-
class SCL_EDITOR_EXPORT DisplayNode : public GenericNode {
35+
class SCL_CORE_EXPORT DisplayNode : public GenericNode {
3636
protected:
3737
friend class GenNodeList;
3838
friend class DisplayNodeList;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
// This will be used to represent the display state lists.
3030
//////////////////////////////////////////////////////////////////////////////
3131

32-
class SCL_EDITOR_EXPORT DisplayNodeList : public GenNodeList {
32+
class SCL_CORE_EXPORT DisplayNodeList : public GenNodeList {
3333
public:
3434
DisplayNodeList( displayStateEnum type );
3535
~DisplayNodeList() { }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
#include <mgrnodearray.h>
3939

40-
class SCL_EDITOR_EXPORT InstMgr {
40+
class SCL_CORE_EXPORT InstMgr {
4141
protected:
4242
int maxFileId;
4343
int _ownsInstances; // if true will delete instances inside destructor

0 commit comments

Comments
 (0)