File indexing completed on 2026-06-13 08:30:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _MeshVS_NodalColorPrsBuilder_HeaderFile
0017 #define _MeshVS_NodalColorPrsBuilder_HeaderFile
0018
0019 #include <MeshVS_DataMapOfIntegerColor.hxx>
0020 #include <Aspect_SequenceOfColor.hxx>
0021 #include <TColStd_DataMapOfIntegerReal.hxx>
0022 #include <Quantity_Color.hxx>
0023 #include <MeshVS_PrsBuilder.hxx>
0024 #include <MeshVS_DisplayModeFlags.hxx>
0025 #include <MeshVS_BuilderPriority.hxx>
0026 #include <TColStd_PackedMapOfInteger.hxx>
0027 #include <MeshVS_HArray1OfSequenceOfInteger.hxx>
0028 #include <TColStd_Array1OfInteger.hxx>
0029 #include <TColStd_Array1OfReal.hxx>
0030
0031 class MeshVS_Mesh;
0032 class MeshVS_DataSource;
0033 class Graphic3d_Texture2D;
0034 class Graphic3d_ArrayOfPrimitives;
0035
0036 DEFINE_STANDARD_HANDLE(MeshVS_NodalColorPrsBuilder, MeshVS_PrsBuilder)
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 class MeshVS_NodalColorPrsBuilder : public MeshVS_PrsBuilder
0052 {
0053
0054 public:
0055 Standard_EXPORT MeshVS_NodalColorPrsBuilder(
0056 const Handle(MeshVS_Mesh)& Parent,
0057 const MeshVS_DisplayModeFlags& Flags = MeshVS_DMF_NodalColorDataPrs,
0058 const Handle(MeshVS_DataSource)& DS = 0,
0059 const Standard_Integer Id = -1,
0060 const MeshVS_BuilderPriority& Priority = MeshVS_BP_NodalColor);
0061
0062
0063 Standard_EXPORT virtual void Build(const Handle(Prs3d_Presentation)& Prs,
0064 const TColStd_PackedMapOfInteger& IDs,
0065 TColStd_PackedMapOfInteger& IDsToExclude,
0066 const Standard_Boolean IsElement,
0067 const Standard_Integer DisplayMode) const Standard_OVERRIDE;
0068
0069
0070 Standard_EXPORT const MeshVS_DataMapOfIntegerColor& GetColors() const;
0071
0072
0073 Standard_EXPORT void SetColors(const MeshVS_DataMapOfIntegerColor& Map);
0074
0075
0076 Standard_EXPORT Standard_Boolean HasColors() const;
0077
0078
0079 Standard_EXPORT Standard_Boolean GetColor(const Standard_Integer ID,
0080 Quantity_Color& theColor) const;
0081
0082
0083 Standard_EXPORT void SetColor(const Standard_Integer ID, const Quantity_Color& theColor);
0084
0085
0086 Standard_EXPORT void UseTexture(const Standard_Boolean theToUse);
0087
0088
0089 Standard_EXPORT Standard_Boolean IsUseTexture() const;
0090
0091
0092
0093 Standard_EXPORT void SetColorMap(const Aspect_SequenceOfColor& theColors);
0094
0095
0096 Standard_EXPORT const Aspect_SequenceOfColor& GetColorMap() const;
0097
0098
0099
0100 Standard_EXPORT void SetInvalidColor(const Quantity_Color& theInvalidColor);
0101
0102
0103
0104 Standard_EXPORT Quantity_Color GetInvalidColor() const;
0105
0106
0107 Standard_EXPORT void SetTextureCoords(const TColStd_DataMapOfIntegerReal& theMap);
0108
0109
0110 Standard_EXPORT const TColStd_DataMapOfIntegerReal& GetTextureCoords() const;
0111
0112
0113 Standard_EXPORT void SetTextureCoord(const Standard_Integer theID, const Standard_Real theCoord);
0114
0115
0116 Standard_EXPORT Standard_Real GetTextureCoord(const Standard_Integer theID);
0117
0118
0119 Standard_EXPORT void AddVolumePrs(const Handle(MeshVS_HArray1OfSequenceOfInteger)& theTopo,
0120 const TColStd_Array1OfInteger& theNodes,
0121 const TColStd_Array1OfReal& theCoords,
0122 const Handle(Graphic3d_ArrayOfPrimitives)& theArray,
0123 const Standard_Boolean theIsShaded,
0124 const Standard_Integer theNbColors,
0125 const Standard_Integer theNbTexColors,
0126 const Standard_Real theColorRatio) const;
0127
0128 DEFINE_STANDARD_RTTIEXT(MeshVS_NodalColorPrsBuilder, MeshVS_PrsBuilder)
0129
0130 protected:
0131 private:
0132
0133 Standard_EXPORT Handle(Graphic3d_Texture2D) CreateTexture() const;
0134
0135 MeshVS_DataMapOfIntegerColor myNodeColorMap;
0136 Standard_Boolean myUseTexture;
0137 Aspect_SequenceOfColor myTextureColorMap;
0138 TColStd_DataMapOfIntegerReal myTextureCoords;
0139 Quantity_Color myInvalidColor;
0140 };
0141
0142 #endif