1 // Created on: 2009-04-06 2 // Created by: Sergey ZARITCHNY 3 // Copyright (c) 2009-2014 OPEN CASCADE SAS 4 // 5 // This file is part of Open CASCADE Technology software library. 6 // 7 // This library is free software; you can redistribute it and/or modify it under 8 // the terms of the GNU Lesser General Public License version 2.1 as published 9 // by the Free Software Foundation, with special exception defined in the file 10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 11 // distribution for complete text of the license and disclaimer of any warranty. 12 // 13 // Alternatively, this file may be used under the terms of Open CASCADE 14 // commercial license or contractual agreement. 15 16 #ifndef _TDataXtd_Plane_HeaderFile 17 #define _TDataXtd_Plane_HeaderFile 18 19 #include <Standard.hxx> 20 #include <Standard_Type.hxx> 21 22 #include <TDF_Attribute.hxx> 23 #include <Standard_OStream.hxx> 24 class Standard_GUID; 25 class TDF_Label; 26 class gp_Pln; 27 class TDF_Attribute; 28 class TDF_RelocationTable; 29 30 31 class TDataXtd_Plane; 32 DEFINE_STANDARD_HANDLE(TDataXtd_Plane, TDF_Attribute) 33 34 //! The basis to define a plane attribute. 35 //! Warning: Use TDataXtd_Geometry attribute to retrieve the 36 //! gp_Pln of the Plane attribute 37 class TDataXtd_Plane : public TDF_Attribute 38 { 39 40 public: 41 42 43 //! class methods 44 //! ============= 45 //! 46 //! Returns the GUID for plane attributes. 47 Standard_EXPORT static const Standard_GUID& GetID(); 48 49 //! Finds or creates the plane attribute defined by 50 //! the label label. 51 //! Warning 52 //! If you are creating the attribute with this syntax, a 53 //! planar face should already be associated with label. 54 Standard_EXPORT static Handle(TDataXtd_Plane) Set (const TDF_Label& label); 55 56 //! Finds, or creates, a Plane attribute and sets <P> as 57 //! generated the associated NamedShape. 58 //! Plane methods 59 //! ============= 60 Standard_EXPORT static Handle(TDataXtd_Plane) Set (const TDF_Label& label, const gp_Pln& P); 61 62 Standard_EXPORT TDataXtd_Plane(); 63 64 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE; 65 66 Standard_EXPORT void Restore (const Handle(TDF_Attribute)& With) Standard_OVERRIDE; 67 68 Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE; 69 70 Standard_EXPORT void Paste (const Handle(TDF_Attribute)& Into, const Handle(TDF_RelocationTable)& RT) const Standard_OVERRIDE; 71 72 Standard_EXPORT virtual Standard_OStream& Dump (Standard_OStream& anOS) const Standard_OVERRIDE; 73 74 75 76 77 DEFINE_STANDARD_RTTIEXT(TDataXtd_Plane,TDF_Attribute) 78 79 protected: 80 81 82 83 84 private: 85 86 87 88 89 }; 90 91 92 93 94 95 96 97 #endif // _TDataXtd_Plane_HeaderFile 98