1 -- Created on: 1993-01-09
2 -- Created by: CKY / Contract Toubro-Larsen (Anand NATRAJAN)
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class NewDimensionedGeometry from IGESDimen inherits IGESEntity
19 ---Purpose : defines New Dimensioned Geometry, Type <402>, Form <21>
20 -- in package IGESDimen
21 -- Links a dimension entity with the geometry entities it
22 -- is dimensioning, so that later, in the receiving
23 -- database, the dimension can be automatically recalculated
24 -- and redrawn should the geometry be changed.
30 HArray1OfIGESEntity from IGESData,
31 HArray1OfXYZ from TColgp,
32 HArray1OfReal from TColStd,
33 HArray1OfInteger from TColStd
35 raises DimensionMismatch, OutOfRange
39 Create returns NewDimensionedGeometry;
41 -- Specific Methods pertaining to the class
46 anOrientation : Integer;
48 allEntities : HArray1OfIGESEntity;
49 allLocations : HArray1OfInteger;
50 allPoints : HArray1OfXYZ)
51 raises DimensionMismatch;
52 ---Purpose : This method is used to set the fields of the class
53 -- NewDimensionedGeometry
54 -- - nbDimen : Number of Dimensions, default = 1
55 -- - aDimen : Dimension Entity
56 -- - anOrientation : Dimension Orientation Flag
57 -- - anAngle : Angle Value
58 -- - allEntities : Geometric Entities
59 -- - allLocations : Dimension Location Flags
60 -- - allPoints : Points on the Geometry Entities
61 -- exception raised if lengths of entities, locations, points
64 NbDimensions (me) returns Integer;
65 ---Purpose : returns the number of dimensions
67 NbGeometries (me) returns Integer;
68 ---Purpose : returns the number of associated geometry entities
70 DimensionEntity (me) returns IGESEntity;
71 ---Purpose : returns the dimension entity
73 DimensionOrientationFlag (me) returns Integer;
74 ---Purpose : returns the dimension orientation flag
76 AngleValue (me) returns Real;
77 ---Purpose : returns the angle value
79 GeometryEntity (me; Index : Integer) returns IGESEntity
81 ---Purpose : returns the Index'th geometry entity
82 -- raises exception if Index <= 0 or Index > NbGeometries()
84 DimensionLocationFlag (me; Index : Integer) returns Integer
86 ---Purpose : returns the Index'th geometry entity's dimension location flag
87 -- raises exception if Index <= 0 or Index > NbGeometries()
89 Point (me; Index : Integer) returns Pnt
91 ---Purpose : coordinate of point on Index'th geometry entity
92 -- raises exception if Index <= 0 or Index > NbGeometries()
94 TransformedPoint (me; Index : Integer) returns Pnt
96 ---Purpose : coordinate of point on Index'th geometry entity after Transformation
97 -- raises exception if Index <= 0 or Index > NbGeometries()
102 -- Class : IGESDimen_NewDimensionedGeometry
104 -- Purpose : Declaration of variables specific to the definition
105 -- of the Class NewDimensionedGeometry.
107 -- Reminder : A NewDimensionedGeometry instance is defined by :
108 -- - Number of Dimensions, default = 1
109 -- - Dimension Entity
110 -- - Dimension Orientation Flag
112 -- - Geometric Entities
113 -- - Dimension Location Flags
114 -- - Points on the Geometry Entities
116 theNbDimensions : Integer;
117 theDimensionEntity : IGESEntity;
118 theDimensionOrientationFlag : Integer;
119 theAngleValue : Real;
120 theGeometryEntities : HArray1OfIGESEntity;
121 theDimensionLocationFlags : HArray1OfInteger;
122 thePoints : HArray1OfXYZ;
124 end NewDimensionedGeometry;