-- Created on: 1996-09-04 -- Created by: Christian CAILLET -- Copyright (c) 1996-1999 Matra Datavision -- Copyright (c) 1999-2012 OPEN CASCADE SAS -- -- The content of this file is subject to the Open CASCADE Technology Public -- License Version 6.5 (the "License"). You may not use the content of this file -- except in compliance with the License. Please obtain a copy of the License -- at http://www.opencascade.org and read it completely before using this file. -- -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. -- -- The Original Code and all software distributed under the License is -- distributed on an "AS IS" basis, without warranty of any kind, and the -- Initial Developer 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 the rights and limitations under the License. class FinderProcess from Transfer inherits ProcessForFinder ---Purpose : Adds specific features to the generic definition : -- PrintTrace is adapted uses InterfaceModel from Interface, Messenger from Message, Finder, TransientMapper is Create (nb : Integer = 10000) returns mutable FinderProcess; ---Purpose : Sets FinderProcess at initial state, with an initial size SetModel (me : mutable; model : InterfaceModel); ---Purpose : Sets an InterfaceModel, which can be used during transfer -- for instance if a context must be managed, it is in the Model Model (me) returns InterfaceModel; ---Purpose : Returns the Model which can be used for context NextMappedWithAttribute (me; name : CString; num0 : Integer) returns Integer; ---Purpose : In the list of mapped items (between 1 and NbMapped), -- searches for the first mapped item which follows -- (not included) and which has an attribute named -- The considered Attributes are those brought by Finders,i.e. -- by Input data. -- While NextItemWithAttribute works on Result data (Binders) -- -- Hence, allows such an iteration -- -- for (num = FP->NextMappedWithAttribute(name,0); -- num > 0; -- num = FP->NextMappedWithAttribute(name,num) { -- .. process mapped item -- } TransientMapper (me; obj : Transient) returns TransientMapper; ---Purpose : Returns a TransientMapper for a given Transient Object -- Either is already mapped, then its Mapper is returned -- Or it is not, then a new one is created then returned, BUT -- it is not mapped here (use Bind or FindElseBind to do this) PrintTrace (me; start : Finder; S : Messenger from Message) is redefined; ---Purpose : Specific printing to trace a Finder (by its method ValueType) PrintStats (me; mode : Integer; S : Messenger from Message); ---Purpose : Prints statistics on a given output, according mode fields themodel : InterfaceModel; end FinderProcess;