0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / IGESDraw / IGESDraw_ConnectPoint.hxx
CommitLineData
42cf5bc1 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>
27class IGESData_IGESEntity;
28class TCollection_HAsciiString;
29class IGESGraph_TextDisplayTemplate;
30class gp_XYZ;
31class gp_Pnt;
32
33
34class IGESDraw_ConnectPoint;
35DEFINE_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.
44class IGESDraw_ConnectPoint : public IGESData_IGESEntity
45{
46
47public:
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
92efcf78 149 DEFINE_STANDARD_RTTIEXT(IGESDraw_ConnectPoint,IGESData_IGESEntity)
42cf5bc1 150
151protected:
152
153
154
155
156private:
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;
dde68833 169 Standard_Boolean theSwapFlag;
42cf5bc1 170 Handle(IGESData_IGESEntity) theOwnerSubfigure;
171
172
173};
174
175
176
177
178
179
180
181#endif // _IGESDraw_ConnectPoint_HeaderFile