File indexing completed on 2025-01-18 10:05:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TNaming_RefShape_HeaderFile
0018 #define _TNaming_RefShape_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TopoDS_Shape.hxx>
0025 #include <TNaming_PtrNode.hxx>
0026 class TopoDS_Shape;
0027 class TDF_Label;
0028 class TNaming_NamedShape;
0029
0030
0031
0032 class TNaming_RefShape
0033 {
0034 public:
0035
0036 DEFINE_STANDARD_ALLOC
0037
0038
0039 TNaming_RefShape();
0040
0041 TNaming_RefShape(const TopoDS_Shape& S);
0042
0043 void Shape (const TopoDS_Shape& S);
0044
0045 void FirstUse (const TNaming_PtrNode& aPtr);
0046
0047 TNaming_PtrNode FirstUse() const;
0048
0049 const TopoDS_Shape& Shape() const;
0050
0051 Standard_EXPORT TDF_Label Label() const;
0052
0053 Standard_EXPORT Handle(TNaming_NamedShape) NamedShape() const;
0054
0055
0056 Standard_EXPORT void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const;
0057
0058
0059
0060
0061 protected:
0062
0063
0064
0065
0066
0067 private:
0068
0069
0070
0071 TopoDS_Shape myShape;
0072 TNaming_PtrNode myFirstUse;
0073
0074
0075 };
0076
0077
0078 #include <TNaming_RefShape.lxx>
0079
0080
0081
0082
0083
0084 #endif