0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / IGESAppli / IGESAppli_Node.cxx
CommitLineData
b311480e 1// Created by: CKY / Contract Toubro-Larsen
2// Copyright (c) 1993-1999 Matra Datavision
3// Copyright (c) 1999-2012 OPEN CASCADE SAS
4//
5// The content of this file is subject to the Open CASCADE Technology Public
6// License Version 6.5 (the "License"). You may not use the content of this file
7// except in compliance with the License. Please obtain a copy of the License
8// at http://www.opencascade.org and read it completely before using this file.
7fd59977 9//
b311480e 10// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
7fd59977 12//
b311480e 13// The Original Code and all software distributed under the License is
14// distributed on an "AS IS" basis, without warranty of any kind, and the
15// Initial Developer hereby disclaims all such warranties, including without
16// limitation, any warranties of merchantability, fitness for a particular
17// purpose or non-infringement. Please see the License for the specific terms
18// and conditions governing the rights and limitations under the License.
19
20//--------------------------------------------------------------------
7fd59977 21//--------------------------------------------------------------------
22
23#include <IGESAppli_Node.ixx>
24#include <gp_GTrsf.hxx>
25#include <Interface_Macros.hxx>
26
b311480e 27IGESAppli_Node::IGESAppli_Node () { }
7fd59977 28
29
30 void IGESAppli_Node::Init
31 (const gp_XYZ& aCoord,
32 const Handle(IGESGeom_TransformationMatrix)& aCoordSystem)
33{
34 theCoord = aCoord;
35 theSystem = aCoordSystem;
36 InitTypeAndForm(134,0);
37}
38
39 gp_Pnt IGESAppli_Node::Coord () const
40{
41 return gp_Pnt(theCoord);
42}
43
44 Handle(IGESData_TransfEntity) IGESAppli_Node::System () const
45{
46 //if Null, Global Cartesian Coordinate System
47 return GetCasted(IGESData_TransfEntity,theSystem);
48}
49
50 Standard_Integer IGESAppli_Node::SystemType () const
51{
52 if (theSystem.IsNull()) return 0; // 0 Global Cartesien
53 return (theSystem->FormNumber() - 9); // 1 Cartesien, 2 Cylind. 3 Spher.
54}
55
56
57 gp_Pnt IGESAppli_Node::TransformedNodalCoord () const
58{
59 gp_XYZ tempCoord = Coord().XYZ();
60 Handle(IGESData_TransfEntity) temp = System();
61 if (!temp.IsNull()) temp->Value().Transforms(tempCoord);
62 return gp_Pnt(tempCoord);
63}