mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-15 05:28:47 +08:00
83 lines
3.2 KiB
Plaintext
Executable File
83 lines
3.2 KiB
Plaintext
Executable File
-- Created on: 1993-01-09
|
|
-- Created by: CKY / Contract Toubro-Larsen ( Kiran )
|
|
-- Copyright (c) 1993-1999 Matra Datavision
|
|
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
|
--
|
|
-- The content of this file is subject to the Open CASCADE Technology Public
|
|
-- License Version 6.5 (the "License"). You may not use the content of this file
|
|
-- except in compliance with the License. Please obtain a copy of the License
|
|
-- at http://www.opencascade.org and read it completely before using this file.
|
|
--
|
|
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
|
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
|
--
|
|
-- The Original Code and all software distributed under the License is
|
|
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
|
-- Initial Developer 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 the rights and limitations under the License.
|
|
|
|
|
|
class TransformationMatrix from IGESGeom inherits TransfEntity
|
|
|
|
---Purpose: defines IGESTransformationMatrix, Type <124> Form <0>
|
|
-- in package IGESGeom
|
|
-- The transformation matrix entity transforms three-row column
|
|
-- vectors by means of matrix multiplication and then a vector
|
|
-- addition. This entity can be considered as an "operator"
|
|
-- entity in that it starts with the input vector, operates on
|
|
-- it as described above, and produces the output vector.
|
|
|
|
uses
|
|
|
|
HArray2OfReal from TColStd,
|
|
IGESEntity from IGESData,
|
|
GTrsf from gp
|
|
|
|
raises DimensionMismatch, OutOfRange
|
|
|
|
is
|
|
|
|
Create returns mutable TransformationMatrix;
|
|
|
|
-- Specific Methods pertaining to the class
|
|
|
|
Init (me : mutable;
|
|
aMatrix : HArray2OfReal)
|
|
raises DimensionMismatch;
|
|
---Purpose : This method is used to set the fields of the class
|
|
-- TransformationMatrix
|
|
-- - aMatrix : 3 x 4 array containing elements of the
|
|
-- transformation matrix
|
|
-- raises exception if aMatrix is not 3 x 4 array
|
|
|
|
SetFormNumber (me : mutable; form : Integer) raises OutOfRange;
|
|
---Purpose : Changes FormNumber (indicates the Type of Transf :
|
|
-- Transformation 0-1 or Coordinate System 10-11-12)
|
|
-- Error if not in ranges [0-1] or [10-12]
|
|
|
|
Data (me; I, J : Integer) returns Real raises OutOfRange;
|
|
---Purpose : returns individual Data
|
|
-- Errro if I not in [1-3] or J not in [1-4]
|
|
|
|
|
|
Value (me) returns GTrsf;
|
|
---Purpose : returns the transformation matrix
|
|
-- 4th row elements of GTrsf will always be 0, 0, 0, 1 (not defined)
|
|
|
|
fields
|
|
|
|
--
|
|
-- Class : IGESGeom_TransformationMatrix
|
|
--
|
|
-- Purpose : Declaration of variables specific to the definition
|
|
-- of the Class TransformationMatrix.
|
|
--
|
|
-- Reminder : A TransformationMatrix instance is defined by :
|
|
-- the coefficients of a 3 X 4 matrix
|
|
|
|
theData : HArray2OfReal;
|
|
|
|
end TransformationMatrix;
|