blob: d2889a2122e1f3223ce5aa3e4b7766daf8727f4a (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
//--------------------------------------------------------------------
//
// File Name : IGESDimen_NewDimensionedGeometry.cxx
// Date :
// Author : CKY / Contract Toubro-Larsen
// Copyright : MATRA-DATAVISION 1993
//
//--------------------------------------------------------------------
#include <IGESDimen_NewDimensionedGeometry.ixx>
#include <IGESData_TransfEntity.hxx>
#include <gp_GTrsf.hxx>
IGESDimen_NewDimensionedGeometry::IGESDimen_NewDimensionedGeometry () { }
void IGESDimen_NewDimensionedGeometry::Init
(const Standard_Integer nbDimens,
const Handle(IGESData_IGESEntity)& aDimen,
const Standard_Integer anOrientation, const Standard_Real anAngle,
const Handle(IGESData_HArray1OfIGESEntity)& allEntities,
const Handle(TColStd_HArray1OfInteger)& allLocations,
const Handle(TColgp_HArray1OfXYZ)& allPoints)
{
Standard_Integer num = allEntities->Length();
if (allEntities->Lower() != 1 ||
allLocations->Lower() != 1 || allLocations->Length() != num ||
allPoints->Lower() != 1 || allPoints->Length() != num )
Standard_DimensionMismatch::Raise
("IGESDimen_NewDimensionedGeometry: Init");
theNbDimensions = nbDimens;
theDimensionEntity = aDimen;
theDimensionOrientationFlag = anOrientation;
theAngleValue = anAngle;
theGeometryEntities = allEntities;
theDimensionLocationFlags = allLocations;
thePoints = allPoints;
InitTypeAndForm(402,21);
}
Standard_Integer IGESDimen_NewDimensionedGeometry::NbDimensions () const
{
return theNbDimensions;
}
Standard_Integer IGESDimen_NewDimensionedGeometry::NbGeometries () const
{
return theGeometryEntities->Length();
}
Handle(IGESData_IGESEntity) IGESDimen_NewDimensionedGeometry::DimensionEntity
()const
{
return theDimensionEntity;
}
Standard_Integer IGESDimen_NewDimensionedGeometry::DimensionOrientationFlag
() const
{
return theDimensionOrientationFlag;
}
Standard_Real IGESDimen_NewDimensionedGeometry::AngleValue () const
{
return theAngleValue;
}
Handle(IGESData_IGESEntity) IGESDimen_NewDimensionedGeometry::GeometryEntity
(const Standard_Integer Index) const
{
return theGeometryEntities->Value(Index);
}
Standard_Integer IGESDimen_NewDimensionedGeometry::DimensionLocationFlag
(const Standard_Integer Index) const
{
return theDimensionLocationFlags->Value(Index);
}
gp_Pnt IGESDimen_NewDimensionedGeometry::Point
(const Standard_Integer Index) const
{
return gp_Pnt(thePoints->Value(Index));
}
gp_Pnt IGESDimen_NewDimensionedGeometry::TransformedPoint
(const Standard_Integer Index) const
{
gp_XYZ point = thePoints->Value(Index);
if (HasTransf()) Location().Transforms(point);
return gp_Pnt(point);
}
|