b04d0da06bd53988d7f4532f7d1cd3774cdcc550
[occt.git] / src / IGESDraw / IGESDraw_ConnectPoint.hxx
1 // Created on: 1993-01-11
2 // Created by: CKY / Contract Toubro-Larsen ( Niraj RANGWALA )
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _IGESDraw_ConnectPoint_HeaderFile
18 #define _IGESDraw_ConnectPoint_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
22
23 #include <gp_XYZ.hxx>
24 #include <Standard_Integer.hxx>
25 #include <IGESData_IGESEntity.hxx>
26 #include <Standard_Boolean.hxx>
27 class IGESData_IGESEntity;
28 class TCollection_HAsciiString;
29 class IGESGraph_TextDisplayTemplate;
30 class gp_XYZ;
31 class gp_Pnt;
32
33
34 class IGESDraw_ConnectPoint;
35 DEFINE_STANDARD_HANDLE(IGESDraw_ConnectPoint, IGESData_IGESEntity)
36
37 //! defines IGESConnectPoint, Type <132> Form Number <0>
38 //! in package IGESDraw
39 //!
40 //! Connect Point Entity describes a point of connection for
41 //! zero, one or more entities. Its referenced from Composite
42 //! curve, or Network Subfigure Definition/Instance, or Flow
43 //! Associative Instance, or it may stand alone.
44 class IGESDraw_ConnectPoint : public IGESData_IGESEntity
45 {
46
47 public:
48
49   
50   Standard_EXPORT IGESDraw_ConnectPoint();
51   
52   //! This method is used to set the fields of the class
53   //! ConnectPoint
54   //! - aPoint               : A Coordinate point
55   //! - aDisplaySymbol       : Display symbol Geometry
56   //! - aTypeFlag            : Type of the connection
57   //! - aFunctionFlag        : Function flag for the connection
58   //! - aFunctionIdentifier  : Connection Point Function Identifier
59   //! - anIdentifierTemplate : Connection Point Function Template
60   //! - aFunctionName        : Connection Point Function Name
61   //! - aFunctionTemplate    : Connection Point Function Template
62   //! - aPointIdentifier     : Unique Connect Point Identifier
63   //! - aFunctionCode        : Connect Point Function Code
64   //! - aSwapFlag            : Connect Point Swap Flag
65   //! - anOwnerSubfigure     : Pointer to the "Owner" Entity
66   Standard_EXPORT void Init (const gp_XYZ& aPoint, const Handle(IGESData_IGESEntity)& aDisplaySymbol, const Standard_Integer aTypeFlag, const Standard_Integer aFunctionFlag, const Handle(TCollection_HAsciiString)& aFunctionIdentifier, const Handle(IGESGraph_TextDisplayTemplate)& anIdentifierTemplate, const Handle(TCollection_HAsciiString)& aFunctionName, const Handle(IGESGraph_TextDisplayTemplate)& aFunctionTemplate, const Standard_Integer aPointIdentifier, const Standard_Integer aFunctionCode, const Standard_Integer aSwapFlag, const Handle(IGESData_IGESEntity)& anOwnerSubfigure);
67   
68   //! returns the coordinate of the connection point
69   Standard_EXPORT gp_Pnt Point() const;
70   
71   //! returns the Transformed coordinate of the connection point
72   Standard_EXPORT gp_Pnt TransformedPoint() const;
73   
74   //! returns True if Display symbol is specified
75   //! else returns False
76   Standard_EXPORT Standard_Boolean HasDisplaySymbol() const;
77   
78   //! if display symbol specified returns display symbol geometric entity
79   //! else returns NULL Handle
80   Standard_EXPORT Handle(IGESData_IGESEntity) DisplaySymbol() const;
81   
82   //! return value specifies a particular type of connection :
83   //! Type Flag = 0   : Not Specified(default)
84   //! 1   : Nonspecific logical  point of connection
85   //! 2   : Nonspecific physical point of connection
86   //! 101 : Logical component pin
87   //! 102 : Logical part connector
88   //! 103 : Logical offpage connector
89   //! 104 : Logical global signal connector
90   //! 201 : Physical PWA surface mount pin
91   //! 202 : Physical PWA blind pin
92   //! 203 : Physical PWA thru-pin
93   //! 5001-9999 : Implementor defined.
94   Standard_EXPORT Standard_Integer TypeFlag() const;
95   
96   //! returns Function Code that specifies a particular function for the
97   //! ECO576 connection :
98   //! e.g.,        Function Flag = 0 : Unspecified(default)
99   //! = 1 : Electrical Signal
100   //! = 2 : Fluid flow Signal
101   Standard_EXPORT Standard_Integer FunctionFlag() const;
102   
103   //! return HAsciiString identifying Pin Number or Nozzle Label etc.
104   Standard_EXPORT Handle(TCollection_HAsciiString) FunctionIdentifier() const;
105   
106   //! returns True if Text Display Template is specified for Identifier
107   //! else returns False
108   Standard_EXPORT Standard_Boolean HasIdentifierTemplate() const;
109   
110   //! if Text Display Template for the Function Identifier is defined,
111   //! returns TestDisplayTemplate
112   //! else returns NULL Handle
113   Standard_EXPORT Handle(IGESGraph_TextDisplayTemplate) IdentifierTemplate() const;
114   
115   //! returns Connection Point Function Name
116   Standard_EXPORT Handle(TCollection_HAsciiString) FunctionName() const;
117   
118   //! returns True if Text Display Template is specified for Function Name
119   //! else returns False
120   Standard_EXPORT Standard_Boolean HasFunctionTemplate() const;
121   
122   //! if Text Display Template for the Function Name is defined,
123   //! returns TestDisplayTemplate
124   //! else returns NULL Handle
125   Standard_EXPORT Handle(IGESGraph_TextDisplayTemplate) FunctionTemplate() const;
126   
127   //! returns the Unique Connect Point Identifier
128   Standard_EXPORT Standard_Integer PointIdentifier() const;
129   
130   //! returns the Connect Point Function Code
131   Standard_EXPORT Standard_Integer FunctionCode() const;
132   
133   //! return value = 0 : Connect point may be swapped(default)
134   //! = 1 : Connect point may not be swapped
135   Standard_EXPORT Standard_Boolean SwapFlag() const;
136   
137   //! returns True if Network Subfigure Instance/Definition Entity
138   //! is specified
139   //! else returns False
140   Standard_EXPORT Standard_Boolean HasOwnerSubfigure() const;
141   
142   //! returns "owner" Network Subfigure Instance Entity,
143   //! or Network Subfigure Definition Entity, or NULL Handle.
144   Standard_EXPORT Handle(IGESData_IGESEntity) OwnerSubfigure() const;
145
146
147
148
149   DEFINE_STANDARD_RTTIEXT(IGESDraw_ConnectPoint,IGESData_IGESEntity)
150
151 protected:
152
153
154
155
156 private:
157
158
159   gp_XYZ thePoint;
160   Handle(IGESData_IGESEntity) theDisplaySymbol;
161   Standard_Integer theTypeFlag;
162   Standard_Integer theFunctionFlag;
163   Handle(TCollection_HAsciiString) theFunctionIdentifier;
164   Handle(IGESGraph_TextDisplayTemplate) theIdentifierTemplate;
165   Handle(TCollection_HAsciiString) theFunctionName;
166   Handle(IGESGraph_TextDisplayTemplate) theFunctionTemplate;
167   Standard_Integer thePointIdentifier;
168   Standard_Integer theFunctionCode;
169   Standard_Integer theSwapFlag;
170   Handle(IGESData_IGESEntity) theOwnerSubfigure;
171
172
173 };
174
175
176
177
178
179
180
181 #endif // _IGESDraw_ConnectPoint_HeaderFile