summaryrefslogtreecommitdiff
path: root/src/IGESDraw/IGESDraw_ViewsVisibleWithAttr.cxx
blob: 0274a09ce04c34ca287664bde3e5721cb90fe059 (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//--------------------------------------------------------------------
//
//  File Name : IGESDraw_ViewsVisibleWithAttr.cxx
//  Date      :
//  Author    : CKY / Contract Toubro-Larsen
//  Copyright : MATRA-DATAVISION 1993
//
//--------------------------------------------------------------------

#include <IGESDraw_ViewsVisibleWithAttr.ixx>


    IGESDraw_ViewsVisibleWithAttr::IGESDraw_ViewsVisibleWithAttr ()    {  }


// This class inherits from IGESData_ViewKindEntity

    void IGESDraw_ViewsVisibleWithAttr::Init
  (const Handle(IGESDraw_HArray1OfViewKindEntity)&  allViewEntities,
   const Handle(TColStd_HArray1OfInteger)&          allLineFonts,
   const Handle(IGESBasic_HArray1OfLineFontEntity)& allLineDefinitions,
   const Handle(TColStd_HArray1OfInteger)&          allColorValues,
   const Handle(IGESGraph_HArray1OfColor)&          allColorDefinitions,
   const Handle(TColStd_HArray1OfInteger)&          allLineWeights,
   const Handle(IGESData_HArray1OfIGESEntity)&      allDisplayEntities)
{
  if (!allViewEntities.IsNull()) {
    Standard_Integer Exp = allViewEntities->Length();
    if ( allViewEntities->Lower() != 1 ||
	(allLineFonts->Lower()    != 1 || allLineFonts->Length()   != Exp) ||
	(allColorValues->Lower()  != 1 || allColorValues->Length() != Exp) ||
	(allLineWeights->Lower()  != 1 || allLineWeights->Length() != Exp) ||
	(allLineDefinitions->Lower() != 1 || allLineDefinitions->Length() != Exp) ||
	(allColorDefinitions->Lower() != 1 || allColorDefinitions->Length() != Exp))
      Standard_DimensionMismatch::Raise("IGESDraw_ViewsVisibleWithAttr : Init");
  }
  if (!allDisplayEntities.IsNull())
    if (allDisplayEntities->Lower() != 1) Standard_DimensionMismatch::Raise
  ("IGESDraw_ViewsVisibleWithAttr : Init");

  theViewEntities     = allViewEntities;
  theLineFonts        = allLineFonts;
  theLineDefinitions  = allLineDefinitions;
  theColorValues      = allColorValues;
  theColorDefinitions = allColorDefinitions;
  theLineWeights      = allLineWeights;
  theDisplayEntities  = allDisplayEntities;
  InitTypeAndForm(402,4);
}

    void IGESDraw_ViewsVisibleWithAttr::InitImplied
  (const Handle(IGESData_HArray1OfIGESEntity)&     allDisplayEntity)
{
  if (!allDisplayEntity.IsNull())
    if (allDisplayEntity->Lower() != 1)
      Standard_DimensionMismatch::Raise("IGESDraw_ViewsVisibleWithAttr : InitImplied");
  theDisplayEntities = allDisplayEntity;
}

    Standard_Boolean IGESDraw_ViewsVisibleWithAttr::IsSingle () const
{
  return Standard_False;
  // Is redefined to return Standard_Flase, since <me> contains list of Views
}

    Standard_Integer IGESDraw_ViewsVisibleWithAttr::NbViews () const
{
  return (theViewEntities.IsNull() ? 0 : theViewEntities->Length());
}

    Standard_Integer IGESDraw_ViewsVisibleWithAttr::NbDisplayedEntities () const
{
  return (theDisplayEntities.IsNull() ? 0 : theDisplayEntities->Length());
  // Return 0 if HArray1 theDisplyEntities id NULL Handle
}

    Handle(IGESData_ViewKindEntity) IGESDraw_ViewsVisibleWithAttr::ViewItem
  (const Standard_Integer Index) const
{
  return theViewEntities->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Standard_Integer IGESDraw_ViewsVisibleWithAttr::LineFontValue
  (const Standard_Integer Index) const
{
  return theLineFonts->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Standard_Boolean IGESDraw_ViewsVisibleWithAttr::IsFontDefinition
  (const Standard_Integer Index) const
{
  return (! (theLineDefinitions->Value(Index)).IsNull());
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Handle(IGESData_LineFontEntity) IGESDraw_ViewsVisibleWithAttr::FontDefinition
  (const Standard_Integer Index) const
{
  return theLineDefinitions->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Standard_Integer IGESDraw_ViewsVisibleWithAttr::ColorValue
  (const Standard_Integer Index) const
{
  return theColorValues->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Standard_Boolean IGESDraw_ViewsVisibleWithAttr::IsColorDefinition
  (const Standard_Integer Index) const
{
  return (! (theColorDefinitions->Value(Index)).IsNull());
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Handle(IGESGraph_Color) IGESDraw_ViewsVisibleWithAttr::ColorDefinition
  (const Standard_Integer Index) const
{
  return theColorDefinitions->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Standard_Integer IGESDraw_ViewsVisibleWithAttr::LineWeightItem
  (const Standard_Integer Index) const
{
  return theLineWeights->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
}

    Handle(IGESData_IGESEntity) IGESDraw_ViewsVisibleWithAttr::DisplayedEntity
  (const Standard_Integer Index) const
{
  return theDisplayEntities->Value(Index);
  // if Index is out of bound HArray1 will raise OutOfRange exception
  // if (theDisplayEntity.IsNull()) then NoSuchObject Exception is raised
}