|
||||
File indexing completed on 2025-01-18 10:05:29
0001 // Created on: 1992-02-17 0002 // Created by: Christian CAILLET 0003 // Copyright (c) 1992-1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _TransferBRep_BinderOfShape_HeaderFile 0018 #define _TransferBRep_BinderOfShape_HeaderFile 0019 0020 #include <Standard.hxx> 0021 0022 #include <TopoDS_Shape.hxx> 0023 #include <Transfer_Binder.hxx> 0024 #include <Standard_Type.hxx> 0025 #include <Standard_CString.hxx> 0026 0027 0028 class TransferBRep_BinderOfShape; 0029 DEFINE_STANDARD_HANDLE(TransferBRep_BinderOfShape, Transfer_Binder) 0030 0031 //! Allows direct binding between a starting Object and the Result 0032 //! of its transfer when it is Unique. 0033 //! The Result itself is defined as a formal parameter <Shape from TopoDS> 0034 //! Warning : While it is possible to instantiate BinderOfShape with any Type 0035 //! for the Result, it is not advisable to instantiate it with 0036 //! Transient Classes, because such Results are directly known and 0037 //! managed by TransferProcess & Co, through 0038 //! SimpleBinderOfTransient : this class looks like instantiation 0039 //! of BinderOfShape, but its method ResultType 0040 //! is adapted (reads DynamicType of the Result) 0041 class TransferBRep_BinderOfShape : public Transfer_Binder 0042 { 0043 0044 public: 0045 0046 0047 //! normal standard constructor, creates an empty BinderOfShape 0048 Standard_EXPORT TransferBRep_BinderOfShape(); 0049 0050 //! constructor which in the same time defines the result 0051 //! Returns True if a starting object is bound with SEVERAL 0052 //! results : Here, returns always False 0053 //! But it can have next results 0054 Standard_EXPORT TransferBRep_BinderOfShape(const TopoDS_Shape& res); 0055 0056 //! Returns the Type permitted for the Result, i.e. the Type 0057 //! of the Parameter Class <Shape from TopoDS> (statically defined) 0058 Standard_EXPORT Handle(Standard_Type) ResultType() const Standard_OVERRIDE; 0059 0060 //! Returns the Type Name computed for the Result (dynamic) 0061 Standard_EXPORT Standard_CString ResultTypeName() const Standard_OVERRIDE; 0062 0063 //! Defines the Result 0064 Standard_EXPORT void SetResult (const TopoDS_Shape& res); 0065 0066 //! Returns the defined Result, if there is one 0067 Standard_EXPORT const TopoDS_Shape& Result() const; 0068 0069 //! Returns the defined Result, if there is one, and allows to 0070 //! change it (avoids Result + SetResult). 0071 //! Admits that Result can be not yet defined 0072 //! Warning : a call to CResult causes Result to be known as defined 0073 Standard_EXPORT TopoDS_Shape& CResult(); 0074 0075 0076 0077 0078 DEFINE_STANDARD_RTTIEXT(TransferBRep_BinderOfShape,Transfer_Binder) 0079 0080 protected: 0081 0082 0083 0084 0085 private: 0086 0087 0088 TopoDS_Shape theres; 0089 0090 0091 }; 0092 0093 0094 0095 0096 0097 0098 0099 #endif // _TransferBRep_BinderOfShape_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |