1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
// File generated by CPPExt (Transient)
//
//
// Copyright (C) 1991 - 2000 by
// Matra Datavision SA. All rights reserved.
//
// Copyright (C) 2001 - 2004 by
// Open CASCADE SA. All rights reserved.
//
// This file is part of the Open CASCADE Technology software.
//
// This software may be distributed and/or modified under the terms and
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
// and appearing in the file LICENSE included in the packaging of this file.
//
// This software is distributed on an "AS IS" basis, without warranty of any
// kind, and Open CASCADE SA hereby disclaims all such warranties,
// including without limitation, any warranties of merchantability, fitness
// for a particular purpose or non-infringement. Please see the License for
// the specific terms and conditions governing rights and limitations under the
// License.
#ifndef _IFSelect_GeneralModifier_HeaderFile
#define _IFSelect_GeneralModifier_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Handle_IFSelect_GeneralModifier_HeaderFile
#include <Handle_IFSelect_GeneralModifier.hxx>
#endif
#ifndef _Handle_IFSelect_Selection_HeaderFile
#include <Handle_IFSelect_Selection.hxx>
#endif
#ifndef _Handle_IFSelect_Dispatch_HeaderFile
#include <Handle_IFSelect_Dispatch.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
class IFSelect_Selection;
class IFSelect_Dispatch;
class TCollection_AsciiString;
//! This class gives a frame for Actions which modify the effect <br>
//! of a Dispatch, i.e. : <br>
//! By Selections and Dispatches, an original Model can be <br>
//! splitted into one or more "target" Models : these Models <br>
//! contain Entities copied from the original one (that is, a <br>
//! part of it). Basically, these dispatched Entities are copied <br>
//! as identical to their original counterparts. Also the copied <br>
//! Models reproduce the Header of the original one. <br>
//! <br>
//! Modifiers allow to change this copied content : this is the <br>
//! way to be used for any kind of alterations, adaptations ... <br>
//! They are exploited by a ModelCopier, which firstly performs <br>
//! the copy operation described by Dispatches, then invokes the <br>
//! Modifiers to work on the result. <br>
//! <br>
//! Each GeneralModifier can be attached to : <br>
//! - all the Models produced <br>
//! - a Dispatch (it will be applied to all the Models obtained <br>
//! from this Dispatch) designated by its Ident in a ShareOut <br>
//! - in addition, to a Selection (facultative) : this adds a <br>
//! criterium, the Modifier is invoked on a produced Model only <br>
//! if this Model contains an Entity copied from one of the <br>
//! Entities designated by this Selection. <br>
//! (for special Modifiers from IFAdapt, while they must work on <br>
//! definite Entities, this Selection is mandatory to run) <br>
//! <br>
//! Remark : this class has no action attached, it only provides <br>
//! a frame to work on criteria. Then, sub-classes will define <br>
//! their kind of action, which can be applied at a precise step <br>
//! of the production of a File : see Modifier, and in the <br>
//! package IFAdapt, EntityModifier and EntityCopier <br>
class IFSelect_GeneralModifier : public MMgt_TShared {
public:
// Methods PUBLIC
//
//! Returns True if this modifier may change the graph of <br>
//! dependences (aknowledged at creation time) <br>
Standard_EXPORT Standard_Boolean MayChangeGraph() const;
//! Attaches to a Dispatch. If <disp> is Null, Resets it <br>
//! (to apply the Modifier on every Dispatch) <br>
Standard_EXPORT void SetDispatch(const Handle(IFSelect_Dispatch)& disp) ;
//! Returns the Dispatch to be matched, Null if not set <br>
Standard_EXPORT Handle_IFSelect_Dispatch Dispatch() const;
//! Returns True if a Model obtained from the Dispatch <disp> <br>
//! is to be treated (apart from the Selection criterium) <br>
//! If Dispatch(me) is Null, returns True. Else, checks <disp> <br>
Standard_EXPORT Standard_Boolean Applies(const Handle(IFSelect_Dispatch)& disp) const;
//! Sets a Selection : a Model is treated if it contains one or <br>
//! more Entities designated by the Selection <br>
Standard_EXPORT void SetSelection(const Handle(IFSelect_Selection)& sel) ;
//! Resets the Selection : this criterium is not longer active <br>
Standard_EXPORT void ResetSelection() ;
//! Returns True if a Selection is set as an additionnal criterium <br>
Standard_EXPORT Standard_Boolean HasSelection() const;
//! Returns the Selection, or a Null Handle if not set <br>
Standard_EXPORT Handle_IFSelect_Selection Selection() const;
//! Returns a short text which defines the operation performed <br>
Standard_EXPORT virtual TCollection_AsciiString Label() const = 0;
//Standard_EXPORT ~IFSelect_GeneralModifier();
// Type management
//
Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
//Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
protected:
// Methods PROTECTED
//
//! Sets the Modifier criteria to default Values <br>
//! (i.e. "always applies") <br>
//! <maychangegraph> must be provided at creation time, to : <br>
//! - False if this GeneralModifier surely lets the graph of <br>
//! dependencies unchanged (NO edition of any reference, BUT <br>
//! also NO entity added or replaced or removed) <br>
//! - True if there is a possibility of changing the graph of <br>
//! dependencies when this modifier is applied <br>
Standard_EXPORT IFSelect_GeneralModifier(const Standard_Boolean maychangegraph);
// Fields PROTECTED
//
private:
// Methods PRIVATE
//
// Fields PRIVATE
//
Handle_IFSelect_Selection thesel;
Handle_IFSelect_Dispatch thedisp;
Standard_Boolean thechgr;
};
// other Inline functions and methods (like "C++: function call" methods)
//
#endif
|