1 // Created on: 1993-01-09
2 // Created by: CKY / Contract Toubro-Larsen ( TCD )
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _IGESDraw_SegmentedViewsVisible_HeaderFile
18 #define _IGESDraw_SegmentedViewsVisible_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
23 #include <IGESDraw_HArray1OfViewKindEntity.hxx>
24 #include <TColStd_HArray1OfReal.hxx>
25 #include <TColStd_HArray1OfInteger.hxx>
26 #include <IGESGraph_HArray1OfColor.hxx>
27 #include <IGESBasic_HArray1OfLineFontEntity.hxx>
28 #include <IGESData_ViewKindEntity.hxx>
29 #include <Standard_Boolean.hxx>
30 #include <Standard_Integer.hxx>
31 #include <Standard_Real.hxx>
32 class Standard_DimensionMismatch;
33 class Standard_OutOfRange;
34 class IGESData_ViewKindEntity;
35 class IGESGraph_Color;
36 class IGESData_LineFontEntity;
39 class IGESDraw_SegmentedViewsVisible;
40 DEFINE_STANDARD_HANDLE(IGESDraw_SegmentedViewsVisible, IGESData_ViewKindEntity)
42 //! defines IGESSegmentedViewsVisible, Type <402> Form <19>
43 //! in package IGESDraw
45 //! Permits the association of display parameters with the
46 //! segments of curves in a given view
47 class IGESDraw_SegmentedViewsVisible : public IGESData_ViewKindEntity
53 Standard_EXPORT IGESDraw_SegmentedViewsVisible();
55 //! This method is used to set the fields of the class
56 //! SegmentedViewsVisible
57 //! - allViews : Pointers to View Entities
58 //! - allBreakpointParameters : Parameters of breakpoints
59 //! - allDisplayFlags : Display flags
60 //! - allColorValues : Color Values
61 //! - allColorDefinitions : Color Definitions
62 //! - allLineFontValues : LineFont values
63 //! - allLineFontDefinitions : LineFont Definitions
64 //! - allLineWeights : Line weights
65 //! raises exception if Lengths of allViews, allBreakpointParameters,
66 //! allDisplayFlags, allColorValues, allColorDefinitions,
67 //! allLineFontValues, allLineFontDefinitions and allLineWeights
69 Standard_EXPORT void Init (const Handle(IGESDraw_HArray1OfViewKindEntity)& allViews, const Handle(TColStd_HArray1OfReal)& allBreakpointParameters, const Handle(TColStd_HArray1OfInteger)& allDisplayFlags, const Handle(TColStd_HArray1OfInteger)& allColorValues, const Handle(IGESGraph_HArray1OfColor)& allColorDefinitions, const Handle(TColStd_HArray1OfInteger)& allLineFontValues, const Handle(IGESBasic_HArray1OfLineFontEntity)& allLineFontDefinitions, const Handle(TColStd_HArray1OfInteger)& allLineWeights);
71 //! Returns False (for a complex view)
72 Standard_EXPORT Standard_Boolean IsSingle() const Standard_OVERRIDE;
74 //! Returns the count of Views referenced by <me> (inherited)
75 Standard_EXPORT Standard_Integer NbViews() const Standard_OVERRIDE;
77 //! returns the number of view/segment blocks in <me>
78 //! Similar to NbViews but has a more general significance
79 Standard_EXPORT Standard_Integer NbSegmentBlocks() const;
81 //! returns the View entity indicated by ViewIndex
82 //! raises an exception if ViewIndex <= 0 or
83 //! ViewIndex > NbSegmentBlocks()
84 Standard_EXPORT Handle(IGESData_ViewKindEntity) ViewItem (const Standard_Integer ViewIndex) const Standard_OVERRIDE;
86 //! returns the parameter of the breakpoint indicated by
88 //! raises an exception if BreakpointIndex <= 0 or
89 //! BreakpointIndex > NbSegmentBlocks().
90 Standard_EXPORT Standard_Real BreakpointParameter (const Standard_Integer BreakpointIndex) const;
92 //! returns the Display flag indicated by FlagIndex
93 //! raises an exception if FlagIndex <= 0 or
94 //! FlagIndex > NbSegmentBlocks().
95 Standard_EXPORT Standard_Integer DisplayFlag (const Standard_Integer FlagIndex) const;
97 //! returns True if the ColorIndex'th value of the
98 //! "theColorDefinitions" field of <me> is a pointer
99 //! raises an exception if ColorIndex <= 0 or
100 //! ColorIndex > NbSegmentBlocks().
101 Standard_EXPORT Standard_Boolean IsColorDefinition (const Standard_Integer ColorIndex) const;
103 //! returns the Color value indicated by ColorIndex
104 //! raises an exception if ColorIndex <= 0 or
105 //! ColorIndex > NbSegmentBlocks().
106 Standard_EXPORT Standard_Integer ColorValue (const Standard_Integer ColorIndex) const;
108 //! returns the Color definition entity indicated by ColorIndex
109 //! raises an exception if ColorIndex <= 0 or
110 //! ColorIndex > NbSegmentBlocks().
111 Standard_EXPORT Handle(IGESGraph_Color) ColorDefinition (const Standard_Integer ColorIndex) const;
113 //! returns True if the FontIndex'th value of the
114 //! "theLineFontDefinitions" field of <me> is a pointer
115 //! raises an exception if FontIndex <= 0 or
116 //! FontIndex > NbSegmentBlocks().
117 Standard_EXPORT Standard_Boolean IsFontDefinition (const Standard_Integer FontIndex) const;
119 //! returns the LineFont value indicated by FontIndex
120 //! raises an exception if FontIndex <= 0 or
121 //! FontIndex > NbSegmentBlocks().
122 Standard_EXPORT Standard_Integer LineFontValue (const Standard_Integer FontIndex) const;
124 //! returns the LineFont definition entity indicated by FontIndex
125 //! raises an exception if FontIndex <= 0 or
126 //! FontIndex > NbSegmentBlocks().
127 Standard_EXPORT Handle(IGESData_LineFontEntity) LineFontDefinition (const Standard_Integer FontIndex) const;
129 //! returns the LineWeight value indicated by WeightIndex
130 //! raises an exception if WeightIndex <= 0 or
131 //! WeightIndex > NbSegmentBlocks().
132 Standard_EXPORT Standard_Integer LineWeightItem (const Standard_Integer WeightIndex) const;
137 DEFINE_STANDARD_RTTIEXT(IGESDraw_SegmentedViewsVisible,IGESData_ViewKindEntity)
147 Handle(IGESDraw_HArray1OfViewKindEntity) theViews;
148 Handle(TColStd_HArray1OfReal) theBreakpointParameters;
149 Handle(TColStd_HArray1OfInteger) theDisplayFlags;
150 Handle(TColStd_HArray1OfInteger) theColorValues;
151 Handle(IGESGraph_HArray1OfColor) theColorDefinitions;
152 Handle(TColStd_HArray1OfInteger) theLineFontValues;
153 Handle(IGESBasic_HArray1OfLineFontEntity) theLineFontDefinitions;
154 Handle(TColStd_HArray1OfInteger) theLineWeights;
165 #endif // _IGESDraw_SegmentedViewsVisible_HeaderFile