File: IGESSolid_Loop.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (130 lines) | stat: -rw-r--r-- 5,030 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _IGESSolid_Loop_HeaderFile
#define _IGESSolid_Loop_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_IGESSolid_Loop.hxx>

#include <Handle_TColStd_HArray1OfInteger.hxx>
#include <Handle_IGESData_HArray1OfIGESEntity.hxx>
#include <Handle_IGESBasic_HArray1OfHArray1OfInteger.hxx>
#include <Handle_IGESBasic_HArray1OfHArray1OfIGESEntity.hxx>
#include <IGESData_IGESEntity.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
#include <Handle_IGESData_IGESEntity.hxx>
class TColStd_HArray1OfInteger;
class IGESData_HArray1OfIGESEntity;
class IGESBasic_HArray1OfHArray1OfInteger;
class IGESBasic_HArray1OfHArray1OfIGESEntity;
class Standard_DimensionMismatch;
class Standard_OutOfRange;
class IGESData_IGESEntity;


//! defines Loop, Type <508> Form Number <1>
//! in package IGESSolid
//! A Loop entity specifies a bound of a face. It represents
//! a connected collection of face boundaries, seams, and
//! poles of a single face.
//!
//! From IGES-5.3, a Loop can be free with Form Number 0,
//! else it is a bound of a face (it is the default)
class IGESSolid_Loop : public IGESData_IGESEntity
{

public:

  
  Standard_EXPORT IGESSolid_Loop();
  
  //! This method is used to set the fields of the class Loop
  //! - types              : 0 = Edge; 1 = Vertex
  //! - edges              : Pointer to the EdgeList or VertexList
  //! - index              : Index of the edge into the EdgeList
  //! VertexList entity
  //! - orient             : Orientation flag of the edge
  //! - nbParameterCurves  : the number of parameter space curves
  //! for each edge
  //! - isoparametricFlags : the isoparametric flag of the
  //! parameter space curve
  //! - curves             : the parameter space curves
  //! raises exception if length of types, edges, index, orient and
  //! nbParameterCurves do not match or the length of
  //! isoparametricFlags and curves do not match
  Standard_EXPORT   void Init (const Handle(TColStd_HArray1OfInteger)& types, const Handle(IGESData_HArray1OfIGESEntity)& edges, const Handle(TColStd_HArray1OfInteger)& index, const Handle(TColStd_HArray1OfInteger)& orient, const Handle(TColStd_HArray1OfInteger)& nbParameterCurves, const Handle(IGESBasic_HArray1OfHArray1OfInteger)& isoparametricFlags, const Handle(IGESBasic_HArray1OfHArray1OfIGESEntity)& curves) ;
  
  //! Tells if a Loop is a Bound (FN 1) else it is free (FN 0)
  Standard_EXPORT   Standard_Boolean IsBound()  const;
  
  //! Sets or Unset the Bound Status (from Form Number)
  //! Default is True
  Standard_EXPORT   void SetBound (const Standard_Boolean bound) ;
  
  //! returns the number of edge tuples
  Standard_EXPORT   Standard_Integer NbEdges()  const;
  
  //! returns the type of Index'th edge (0 = Edge, 1 = Vertex)
  //! raises exception if Index <= 0 or Index > NbEdges()
  Standard_EXPORT   Standard_Integer EdgeType (const Standard_Integer Index)  const;
  
  //! return the EdgeList or VertexList corresponding to the Index
  //! raises exception if Index <= 0 or Index > NbEdges()
  Standard_EXPORT   Handle(IGESData_IGESEntity) Edge (const Standard_Integer Index)  const;
  
  //! returns the orientation flag corresponding to Index'th edge
  //! raises exception if Index <= 0 or Index > NbEdges()
  Standard_EXPORT   Standard_Boolean Orientation (const Standard_Integer Index)  const;
  
  //! return the number of parameter space curves associated with
  //! Index'th Edge
  //! raises exception if Index <= 0 or Index > NbEdges()
  Standard_EXPORT   Standard_Integer NbParameterCurves (const Standard_Integer Index)  const;
  
  Standard_EXPORT   Standard_Boolean IsIsoparametric (const Standard_Integer EdgeIndex, const Standard_Integer CurveIndex)  const;
  
  //! returns the CurveIndex'th parameter space curve associated with
  //! EdgeIndex'th edge
  //! raises exception if EdgeIndex <= 0 or EdgeIndex > NbEdges() or
  //! if CurveIndex <= 0 or CurveIndex > NbParameterCurves(EdgeIndex)
  Standard_EXPORT   Handle(IGESData_IGESEntity) ParametricCurve (const Standard_Integer EdgeIndex, const Standard_Integer CurveIndex)  const;
  
  //! raises exception If num <= 0 or num > NbEdges()
  Standard_EXPORT   Standard_Integer ListIndex (const Standard_Integer num)  const;




  DEFINE_STANDARD_RTTI(IGESSolid_Loop)

protected:




private: 


  Handle(TColStd_HArray1OfInteger) theTypes;
  Handle(IGESData_HArray1OfIGESEntity) theEdges;
  Handle(TColStd_HArray1OfInteger) theIndex;
  Handle(TColStd_HArray1OfInteger) theOrientationFlags;
  Handle(TColStd_HArray1OfInteger) theNbParameterCurves;
  Handle(IGESBasic_HArray1OfHArray1OfInteger) theIsoparametricFlags;
  Handle(IGESBasic_HArray1OfHArray1OfIGESEntity) theCurves;


};







#endif // _IGESSolid_Loop_HeaderFile