// File generated by CPPExt (Transient)
//
//
//                     Copyright (C) 1991 - 2000 by  
//                      Matra Datavision SA.  All rights reserved.
//  
//                     Copyright (C) 2001 - 2004 by
//                     Open CASCADE SA.  All rights reserved.
// 
// This file is part of the Open CASCADE Technology software.
//
// This software may be distributed and/or modified under the terms and
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
// and appearing in the file LICENSE included in the packaging of this file.
//  
// This software is distributed on an "AS IS" basis, without warranty of any
// kind, and Open CASCADE SA hereby disclaims all such warranties,
// including without limitation, any warranties of merchantability, fitness
// for a particular purpose or non-infringement. Please see the License for
// the specific terms and conditions governing rights and limitations under the
// License.

#ifndef _IGESDraw_ConnectPoint_HeaderFile
#define _IGESDraw_ConnectPoint_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Handle_IGESDraw_ConnectPoint_HeaderFile
#include <Handle_IGESDraw_ConnectPoint.hxx>
#endif

#ifndef _gp_XYZ_HeaderFile
#include <gp_XYZ.hxx>
#endif
#ifndef _Handle_IGESData_IGESEntity_HeaderFile
#include <Handle_IGESData_IGESEntity.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_TCollection_HAsciiString_HeaderFile
#include <Handle_TCollection_HAsciiString.hxx>
#endif
#ifndef _Handle_IGESGraph_TextDisplayTemplate_HeaderFile
#include <Handle_IGESGraph_TextDisplayTemplate.hxx>
#endif
#ifndef _IGESData_IGESEntity_HeaderFile
#include <IGESData_IGESEntity.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class IGESData_IGESEntity;
class TCollection_HAsciiString;
class IGESGraph_TextDisplayTemplate;
class gp_XYZ;
class gp_Pnt;


//! defines IGESConnectPoint, Type <132> Form Number <0> <br>
//!           in package IGESDraw <br>
class IGESDraw_ConnectPoint : public IGESData_IGESEntity {

public:
 // Methods PUBLIC
 // 


Standard_EXPORT IGESDraw_ConnectPoint();

//! This method is used to set the fields of the class <br>
//!           ConnectPoint <br>
//!       - aPoint               : A Coordinate point <br>
//!       - aDisplaySymbol       : Display symbol Geometry <br>
//!       - aTypeFlag            : Type of the connection <br>
//!       - aFunctionFlag        : Function flag for the connection <br>
//!       - aFunctionIdentifier  : Connection Point Function Identifier <br>
//!       - anIdentifierTemplate : Connection Point Function Template <br>
//!       - aFunctionName        : Connection Point Function Name <br>
//!       - aFunctionTemplate    : Connection Point Function Template <br>
//!       - aPointIdentifier     : Unique Connect Point Identifier <br>
//!       - aFunctionCode        : Connect Point Function Code <br>
//!       - aSwapFlag            : Connect Point Swap Flag <br>
//!       - anOwnerSubfigure     : Pointer to the "Owner" Entity <br>
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) ;

//! returns the coordinate of the connection point <br>
Standard_EXPORT   gp_Pnt Point() const;

//! returns the Transformed coordinate of the connection point <br>
Standard_EXPORT   gp_Pnt TransformedPoint() const;

//! returns True if Display symbol is specified <br>
//! else returns False <br>
Standard_EXPORT   Standard_Boolean HasDisplaySymbol() const;

//! if display symbol specified returns display symbol geometric entity <br>
//! else returns NULL Handle <br>
Standard_EXPORT   Handle_IGESData_IGESEntity DisplaySymbol() const;

//! return value specifies a particular type of connection : <br>
//!          Type Flag = 0   : Not Specified(default) <br>
//!                      1   : Nonspecific logical  point of connection <br>
//!                      2   : Nonspecific physical point of connection <br>
//!                      101 : Logical component pin <br>
//!                      102 : Logical part connector <br>
//!                      103 : Logical offpage connector <br>
//!                      104 : Logical global signal connector <br>
//!                      201 : Physical PWA surface mount pin <br>
//!                      202 : Physical PWA blind pin <br>
//!                      203 : Physical PWA thru-pin <br>
//!                5001-9999 : Implementor defined. <br>
Standard_EXPORT   Standard_Integer TypeFlag() const;

//! returns Function Code that specifies a particular function for the <br>
//! ECO576 connection : <br>
//! e.g.,        Function Flag = 0 : Unspecified(default) <br>
//!                            = 1 : Electrical Signal <br>
//!                            = 2 : Fluid flow Signal <br>
Standard_EXPORT   Standard_Integer FunctionFlag() const;

//! return HAsciiString identifying Pin Number or Nozzle Label etc. <br>
Standard_EXPORT   Handle_TCollection_HAsciiString FunctionIdentifier() const;

//! returns True if Text Display Template is specified for Identifier <br>
//! else returns False <br>
Standard_EXPORT   Standard_Boolean HasIdentifierTemplate() const;

//! if Text Display Template for the Function Identifier is defined, <br>
//! returns TestDisplayTemplate <br>
//! else returns NULL Handle <br>
Standard_EXPORT   Handle_IGESGraph_TextDisplayTemplate IdentifierTemplate() const;

//! returns Connection Point Function Name <br>
Standard_EXPORT   Handle_TCollection_HAsciiString FunctionName() const;

//! returns True if Text Display Template is specified for Function Name <br>
//! else returns False <br>
Standard_EXPORT   Standard_Boolean HasFunctionTemplate() const;

//! if Text Display Template for the Function Name is defined, <br>
//! returns TestDisplayTemplate <br>
//! else returns NULL Handle <br>
Standard_EXPORT   Handle_IGESGraph_TextDisplayTemplate FunctionTemplate() const;

//! returns the Unique Connect Point Identifier <br>
Standard_EXPORT   Standard_Integer PointIdentifier() const;

//! returns the Connect Point Function Code <br>
Standard_EXPORT   Standard_Integer FunctionCode() const;

//! return value = 0 : Connect point may be swapped(default) <br>
//!              = 1 : Connect point may not be swapped <br>
Standard_EXPORT   Standard_Boolean SwapFlag() const;

//! returns True if Network Subfigure Instance/Definition Entity <br>
//! is specified <br>
//! else returns False <br>
Standard_EXPORT   Standard_Boolean HasOwnerSubfigure() const;

//! returns "owner" Network Subfigure Instance Entity, <br>
//! or Network Subfigure Definition Entity, or NULL Handle. <br>
Standard_EXPORT   Handle_IGESData_IGESEntity OwnerSubfigure() const;
//Standard_EXPORT ~IGESDraw_ConnectPoint();




 // Type management
 //
 Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
 //Standard_EXPORT Standard_Boolean	       IsKind(const Handle(Standard_Type)&) const;

protected:

 // Methods PROTECTED
 // 


 // Fields PROTECTED
 //


private: 

 // Methods PRIVATE
 // 


 // Fields PRIVATE
 //
gp_XYZ thePoint;
Handle_IGESData_IGESEntity theDisplaySymbol;
Standard_Integer theTypeFlag;
Standard_Integer theFunctionFlag;
Handle_TCollection_HAsciiString theFunctionIdentifier;
Handle_IGESGraph_TextDisplayTemplate theIdentifierTemplate;
Handle_TCollection_HAsciiString theFunctionName;
Handle_IGESGraph_TextDisplayTemplate theFunctionTemplate;
Standard_Integer thePointIdentifier;
Standard_Integer theFunctionCode;
Standard_Integer theSwapFlag;
Handle_IGESData_IGESEntity theOwnerSubfigure;


};





// other Inline functions and methods (like "C++: function call" methods)
//


#endif
