blob: c6c2c9c43bfbe22fd53bea5bf480074d44e4cf3c (
plain)
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
|
//--------------------------------------------------------------------
//
// File Name : IGESAppli_Node.cxx
// Date :
// Author : CKY / Contract Toubro-Larsen
// Copyright : MATRA-DATAVISION 1993
//
//--------------------------------------------------------------------
#include <IGESAppli_Node.ixx>
#include <gp_GTrsf.hxx>
#include <Interface_Macros.hxx>
IGESAppli_Node::IGESAppli_Node () { }
void IGESAppli_Node::Init
(const gp_XYZ& aCoord,
const Handle(IGESGeom_TransformationMatrix)& aCoordSystem)
{
theCoord = aCoord;
theSystem = aCoordSystem;
InitTypeAndForm(134,0);
}
gp_Pnt IGESAppli_Node::Coord () const
{
return gp_Pnt(theCoord);
}
Handle(IGESData_TransfEntity) IGESAppli_Node::System () const
{
//if Null, Global Cartesian Coordinate System
return GetCasted(IGESData_TransfEntity,theSystem);
}
Standard_Integer IGESAppli_Node::SystemType () const
{
if (theSystem.IsNull()) return 0; // 0 Global Cartesien
return (theSystem->FormNumber() - 9); // 1 Cartesien, 2 Cylind. 3 Spher.
}
gp_Pnt IGESAppli_Node::TransformedNodalCoord () const
{
gp_XYZ tempCoord = Coord().XYZ();
Handle(IGESData_TransfEntity) temp = System();
if (!temp.IsNull()) temp->Value().Transforms(tempCoord);
return gp_Pnt(tempCoord);
}
|