b311480e |
1 | -- Created on: 1993-01-09 |
2 | -- Created by: CKY / Contract Toubro-Larsen ( Kiran ) |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
7fd59977 |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
7fd59977 |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
7fd59977 |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class TransformationMatrix from IGESGeom inherits TransfEntity |
18 | |
19 | ---Purpose: defines IGESTransformationMatrix, Type <124> Form <0> |
20 | -- in package IGESGeom |
21 | -- The transformation matrix entity transforms three-row column |
22 | -- vectors by means of matrix multiplication and then a vector |
23 | -- addition. This entity can be considered as an "operator" |
24 | -- entity in that it starts with the input vector, operates on |
25 | -- it as described above, and produces the output vector. |
26 | |
27 | uses |
28 | |
29 | HArray2OfReal from TColStd, |
30 | IGESEntity from IGESData, |
31 | GTrsf from gp |
32 | |
33 | raises DimensionMismatch, OutOfRange |
34 | |
35 | is |
36 | |
6e33d3ce |
37 | Create returns TransformationMatrix; |
7fd59977 |
38 | |
39 | -- Specific Methods pertaining to the class |
40 | |
41 | Init (me : mutable; |
42 | aMatrix : HArray2OfReal) |
43 | raises DimensionMismatch; |
44 | ---Purpose : This method is used to set the fields of the class |
45 | -- TransformationMatrix |
46 | -- - aMatrix : 3 x 4 array containing elements of the |
47 | -- transformation matrix |
48 | -- raises exception if aMatrix is not 3 x 4 array |
49 | |
50 | SetFormNumber (me : mutable; form : Integer) raises OutOfRange; |
51 | ---Purpose : Changes FormNumber (indicates the Type of Transf : |
52 | -- Transformation 0-1 or Coordinate System 10-11-12) |
53 | -- Error if not in ranges [0-1] or [10-12] |
54 | |
55 | Data (me; I, J : Integer) returns Real raises OutOfRange; |
56 | ---Purpose : returns individual Data |
57 | -- Errro if I not in [1-3] or J not in [1-4] |
58 | |
59 | |
60 | Value (me) returns GTrsf; |
61 | ---Purpose : returns the transformation matrix |
62 | -- 4th row elements of GTrsf will always be 0, 0, 0, 1 (not defined) |
63 | |
64 | fields |
65 | |
66 | -- |
67 | -- Class : IGESGeom_TransformationMatrix |
68 | -- |
69 | -- Purpose : Declaration of variables specific to the definition |
70 | -- of the Class TransformationMatrix. |
71 | -- |
72 | -- Reminder : A TransformationMatrix instance is defined by : |
73 | -- the coefficients of a 3 X 4 matrix |
74 | |
75 | theData : HArray2OfReal; |
76 | |
77 | end TransformationMatrix; |