|
|
|||
File indexing completed on 2026-09-20 09:19:32
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 //! Allows direct binding between a starting Object and the Result 0028 //! of its transfer when it is Unique. 0029 //! The Result itself is defined as a formal parameter <Shape from TopoDS> 0030 //! Warning : While it is possible to instantiate BinderOfShape with any Type 0031 //! for the Result, it is not advisable to instantiate it with 0032 //! Transient Classes, because such Results are directly known and 0033 //! managed by TransferProcess & Co, through 0034 //! SimpleBinderOfTransient : this class looks like instantiation 0035 //! of BinderOfShape, but its method ResultType 0036 //! is adapted (reads DynamicType of the Result) 0037 class TransferBRep_BinderOfShape : public Transfer_Binder 0038 { 0039 0040 public: 0041 //! normal standard constructor, creates an empty BinderOfShape 0042 Standard_EXPORT TransferBRep_BinderOfShape(); 0043 0044 //! constructor which in the same time defines the result 0045 //! Returns True if a starting object is bound with SEVERAL 0046 //! results : Here, returns always False 0047 //! But it can have next results 0048 Standard_EXPORT TransferBRep_BinderOfShape(const TopoDS_Shape& res); 0049 0050 //! Returns the Type permitted for the Result, i.e. the Type 0051 //! of the Parameter Class <Shape from TopoDS> (statically defined) 0052 Standard_EXPORT occ::handle<Standard_Type> ResultType() const override; 0053 0054 //! Returns the Type Name computed for the Result (dynamic) 0055 Standard_EXPORT const char* ResultTypeName() const override; 0056 0057 //! Defines the Result 0058 Standard_EXPORT void SetResult(const TopoDS_Shape& res); 0059 0060 //! Returns the defined Result, if there is one 0061 Standard_EXPORT const TopoDS_Shape& Result() const; 0062 0063 //! Returns the defined Result, if there is one, and allows to 0064 //! change it (avoids Result + SetResult). 0065 //! Admits that Result can be not yet defined 0066 //! Warning : a call to CResult causes Result to be known as defined 0067 Standard_EXPORT TopoDS_Shape& CResult(); 0068 0069 DEFINE_STANDARD_RTTIEXT(TransferBRep_BinderOfShape, Transfer_Binder) 0070 0071 private: 0072 TopoDS_Shape theres; 0073 }; 0074 0075 #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 |
|