1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-08 14:17:06 +03:00

0024002: Overall code and build procedure refactoring -- automatic

Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack
This commit is contained in:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -1,2 +1,21 @@
TransferBRep_SequenceOfTransferResultInfo.hxx
TransferBRep.cxx
TransferBRep.hxx
TransferBRep_BinderOfShape.cxx
TransferBRep_BinderOfShape.hxx
TransferBRep_HSequenceOfTransferResultInfo.hxx
TransferBRep_OrientedShapeMapper.hxx
TransferBRep_OrientedShapeMapper_0.cxx
TransferBRep_Reader.cxx
TransferBRep_Reader.hxx
TransferBRep_SequenceOfTransferResultInfo.hxx
TransferBRep_ShapeBinder.cxx
TransferBRep_ShapeBinder.hxx
TransferBRep_ShapeInfo.cxx
TransferBRep_ShapeInfo.hxx
TransferBRep_ShapeListBinder.cxx
TransferBRep_ShapeListBinder.hxx
TransferBRep_ShapeMapper.hxx
TransferBRep_ShapeMapper_0.cxx
TransferBRep_TransferResultInfo.cxx
TransferBRep_TransferResultInfo.hxx
TransferBRep_TransferResultInfo.lxx

View File

@@ -1,184 +0,0 @@
-- Created on: 1994-10-03
-- Created by: Christian CAILLET
-- Copyright (c) 1994-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
package TransferBRep
---Purpose : This package gathers services to simply read files and convert
-- them to Shapes from CasCade. IE. it can be used in conjunction
-- with purely CasCade software
uses Standard, TCollection, TColStd, TopoDS, TopAbs, TopTools, Interface, Transfer, Message
is
class Reader;
-- class Analyzer;
class ShapeInfo;
class BinderOfShape;
class ShapeBinder;
class ShapeListBinder;
class ShapeMapper instantiates Mapper from Transfer
(Shape from TopoDS, ShapeMapHasher from TopTools, ShapeInfo);
class OrientedShapeMapper instantiates Mapper from Transfer
(Shape from TopoDS, OrientedShapeMapHasher from TopTools, ShapeInfo);
class TransferResultInfo;
imported SequenceOfTransferResultInfo;
imported transient class HSequenceOfTransferResultInfo;
-- some usefull functions for binding shapes --
ShapeResult (binder : Binder from Transfer) returns Shape from TopoDS;
---Purpose : Get the Shape recorded in a Binder
-- If the Binder brings a multiple result, search for the Shape
ShapeResult (TP : TransientProcess from Transfer; ent : Transient)
returns Shape from TopoDS;
---Purpose : Get the Shape recorded in a TransientProcess as result of the
-- Transfer of an entity. I.E. in the binder bound to that Entity
-- If no result or result not a single Shape, returns a Null Shape
SetShapeResult (TP : TransientProcess from Transfer; ent : Transient;
result : Shape from TopoDS);
---Purpose : Sets a Shape as a result for a starting entity <ent>
-- (reverse of ShapeResult)
-- It simply creates a ShapeBinder then binds it to the entity
Shapes (TP : TransientProcess from Transfer; rootsonly : Boolean = Standard_True)
returns HSequenceOfShape from TopTools;
---Purpose : Gets the Shapes recorded in a TransientProcess as result of a
-- Transfer, considers roots only or all results according
-- <rootsonly>, returns them as a HSequence
Shapes (TP : TransientProcess from Transfer;
list : HSequenceOfTransient from TColStd)
returns HSequenceOfShape from TopTools;
---Purpose : Gets the Shapes recorded in a TransientProcess as result of a
-- Transfer, for a given list of starting entities, returns
-- the shapes as a HSequence
ShapeState (FP : FinderProcess from Transfer; shape : Shape from TopoDS)
returns Orientation from TopAbs;
---Purpose : Returns a Status regarding a Shape in a FinderProcess
-- - FORWARD means bound with SAME Orientation
-- - REVERSED means bound with REVERSE Orientation
-- - EXTERNAL means NOT BOUND
-- - INTERNAL is not used
ResultFromShape (FP : FinderProcess from Transfer; shape : Shape from TopoDS)
returns Binder from Transfer;
---Purpose : Returns the result (as a Binder) attached to a given Shape
-- Null if none
TransientFromShape (FP : FinderProcess from Transfer; shape : Shape from TopoDS)
returns Transient;
---Purpose : Returns the result as pure Transient attached to a Shape
-- first one if multiple result
SetTransientFromShape (FP : FinderProcess from Transfer;
shape : Shape from TopoDS; result : Transient);
---Purpose : Binds a Transient Result to a Shape in a FinderProcess
-- (as first result if multiple : does not add it to existing one)
ShapeMapper (FP : FinderProcess from Transfer; shape : Shape from TopoDS)
returns ShapeMapper;
---Purpose : Returns a ShapeMapper for a given Shape (location included)
-- Either <shape> 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)
-- Functions to collect transfer result information --
TransferResultInfo (TP : TransientProcess from Transfer;
EntityTypes: HSequenceOfTransient from TColStd;
InfoSeq : out HSequenceOfTransferResultInfo from TransferBRep);
---Purpose: Fills sequence of TransferResultInfo for each type of entity
-- given in the EntityTypes (entity are given as objects).
-- Method IsKind applied to the entities in TP is used to
-- compare with entities in EntityTypes.
-- TopAbs_ShapeEnum).
TransferResultInfo (FP : FinderProcess from Transfer;
ShapeTypes: HSequenceOfInteger from TColStd;
InfoSeq : out HSequenceOfTransferResultInfo from TransferBRep);
---Purpose: Fills sequence of TransferResultInfo for each type of shape
-- given in the ShapeTypes (which are in fact considered as
-- TopAbs_ShapeEnum).
-- The Finders in the FP are considered as ShapeMappers.
PrintResultInfo ( Printer : Printer from Message;
Header : Msg from Message;
ResultInfo: TransferResultInfo from TransferBRep;
printEmpty: Boolean = Standard_True);
---Purpose: Prints the results of transfer to given priner with given header.
-- Functions to analyse checks on objects, shapes ... --
BRepCheck (shape : Shape from TopoDS; lev : Integer = 1)
returns CheckIterator from Interface;
---Purpose : Performs a heavy check by calling the Analyser from BRepCheck
-- This tool computes a lot of informations about integrity of a
-- Shape. This method uses it and converts its internal result
-- to a classic check-list.
-- <lev> allows to get more informations :
-- 0 : BRepCheck only
-- 1(D) + Curves/Surfaces not C0 ; 2 + SameParameter on Edges
-- Warning : entities to which checks are bound are the Shapes themselves,
-- embedded in ShapeMapper
ResultCheckList (chl : CheckIterator from Interface;
FP : FinderProcess from Transfer;
model : InterfaceModel from Interface)
returns CheckIterator from Interface;
---Purpose : Takes a starting CheckIterator which brings checks bound with
-- starting objects (Shapes, Transient from an Imagine appli ...)
-- and converts it to a CheckIterator in which checks are bound
-- with results in an InterfaceModel
-- Mapping is recorded in the FinderProcess
-- Starting objects for which no individual result is recorded
-- remain in their state
Checked (chl : CheckIterator from Interface;
alsoshapes : Boolean = Standard_False)
returns HSequenceOfTransient from TColStd;
---Purpose : Returns the list of objects to which a non-empty Check is
-- bound in a check-list. Objects are transients, they can then
-- be either Imagine objects entities for an Interface Norm.
-- <alsoshapes> commands Shapes to be returned too
-- (as ShapeMapper), see also CheckedShapes
CheckedShapes (chl : CheckIterator from Interface)
returns HSequenceOfShape from TopTools;
---Purpose : Returns the list of shapes to which a non-empty Check is bound
-- in a check-list
CheckObject (chl : CheckIterator from Interface; obj : Transient)
returns CheckIterator from Interface;
---Purpose : Returns the check-list bound to a given object, generally none
-- (if OK) or one check. <obj> can be, either a true Transient
-- object or entity, or a ShapeMapper, in that case the Shape is
-- considered
-- Complementary helps
end TransferBRep;

View File

@@ -11,35 +11,39 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Standard_ErrorHandler.hxx>
#include <TransferBRep.ixx>
#include <Standard_Failure.hxx>
#include <Interface_Macros.hxx>
#include <TransferBRep_BinderOfShape.hxx>
#include <TransferBRep_ShapeListBinder.hxx>
#include <Transfer_Binder.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepLib.hxx>
#include <Interface_Check.hxx>
#include <Interface_CheckIterator.hxx>
#include <Interface_InterfaceModel.hxx>
#include <Interface_Macros.hxx>
#include <Message_Msg.hxx>
#include <Message_Printer.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <Standard_Transient.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_HShape.hxx>
#include <Transfer_SimpleBinderOfTransient.hxx>
#include <TransferBRep_ShapeBinder.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_Binder.hxx>
#include <Transfer_FinderProcess.hxx>
#include <Transfer_IteratorOfProcessForTransient.hxx>
#include <Transfer_SimpleBinderOfTransient.hxx>
#include <Transfer_TransientProcess.hxx>
#include <TransferBRep.hxx>
#include <TransferBRep_BinderOfShape.hxx>
#include <TransferBRep_ShapeBinder.hxx>
#include <TransferBRep_ShapeListBinder.hxx>
#include <TransferBRep_ShapeMapper.hxx>
#include <TransferBRep_TransferResultInfo.hxx>
#include <TopoDS_Iterator.hxx>
//#include <TransferBRep_Analyzer.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopExp_Explorer.hxx>
#include <BRepLib.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <Interface_Check.hxx>
#include <stdio.h>
//#include <TransferBRep_Analyzer.hxx>
static void ShapeAppend
(const Handle(Transfer_Binder)& binder,
const Handle(TopTools_HSequenceOfShape)& shapes)

View File

@@ -0,0 +1,195 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_HeaderFile
#define _TransferBRep_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <TopTools_HSequenceOfShape.hxx>
#include <Standard_Boolean.hxx>
#include <TColStd_HSequenceOfTransient.hxx>
#include <TopAbs_Orientation.hxx>
#include <TransferBRep_HSequenceOfTransferResultInfo.hxx>
#include <TColStd_HSequenceOfInteger.hxx>
#include <Standard_Integer.hxx>
class TopoDS_Shape;
class Transfer_Binder;
class Transfer_TransientProcess;
class Standard_Transient;
class Transfer_FinderProcess;
class TransferBRep_ShapeMapper;
class Message_Printer;
class Message_Msg;
class TransferBRep_TransferResultInfo;
class Interface_CheckIterator;
class Interface_InterfaceModel;
class TransferBRep_Reader;
class TransferBRep_ShapeInfo;
class TransferBRep_BinderOfShape;
class TransferBRep_ShapeBinder;
class TransferBRep_ShapeListBinder;
class TransferBRep_ShapeMapper;
class TransferBRep_OrientedShapeMapper;
class TransferBRep_TransferResultInfo;
//! This package gathers services to simply read files and convert
//! them to Shapes from CasCade. IE. it can be used in conjunction
//! with purely CasCade software
class TransferBRep
{
public:
DEFINE_STANDARD_ALLOC
//! Get the Shape recorded in a Binder
//! If the Binder brings a multiple result, search for the Shape
Standard_EXPORT static TopoDS_Shape ShapeResult (const Handle(Transfer_Binder)& binder);
//! Get the Shape recorded in a TransientProcess as result of the
//! Transfer of an entity. I.E. in the binder bound to that Entity
//! If no result or result not a single Shape, returns a Null Shape
Standard_EXPORT static TopoDS_Shape ShapeResult (const Handle(Transfer_TransientProcess)& TP, const Handle(Standard_Transient)& ent);
//! Sets a Shape as a result for a starting entity <ent>
//! (reverse of ShapeResult)
//! It simply creates a ShapeBinder then binds it to the entity
Standard_EXPORT static void SetShapeResult (const Handle(Transfer_TransientProcess)& TP, const Handle(Standard_Transient)& ent, const TopoDS_Shape& result);
//! Gets the Shapes recorded in a TransientProcess as result of a
//! Transfer, considers roots only or all results according
//! <rootsonly>, returns them as a HSequence
Standard_EXPORT static Handle(TopTools_HSequenceOfShape) Shapes (const Handle(Transfer_TransientProcess)& TP, const Standard_Boolean rootsonly = Standard_True);
//! Gets the Shapes recorded in a TransientProcess as result of a
//! Transfer, for a given list of starting entities, returns
//! the shapes as a HSequence
Standard_EXPORT static Handle(TopTools_HSequenceOfShape) Shapes (const Handle(Transfer_TransientProcess)& TP, const Handle(TColStd_HSequenceOfTransient)& list);
//! Returns a Status regarding a Shape in a FinderProcess
//! - FORWARD means bound with SAME Orientation
//! - REVERSED means bound with REVERSE Orientation
//! - EXTERNAL means NOT BOUND
//! - INTERNAL is not used
Standard_EXPORT static TopAbs_Orientation ShapeState (const Handle(Transfer_FinderProcess)& FP, const TopoDS_Shape& shape);
//! Returns the result (as a Binder) attached to a given Shape
//! Null if none
Standard_EXPORT static Handle(Transfer_Binder) ResultFromShape (const Handle(Transfer_FinderProcess)& FP, const TopoDS_Shape& shape);
//! Returns the result as pure Transient attached to a Shape
//! first one if multiple result
Standard_EXPORT static Handle(Standard_Transient) TransientFromShape (const Handle(Transfer_FinderProcess)& FP, const TopoDS_Shape& shape);
//! Binds a Transient Result to a Shape in a FinderProcess
//! (as first result if multiple : does not add it to existing one)
Standard_EXPORT static void SetTransientFromShape (const Handle(Transfer_FinderProcess)& FP, const TopoDS_Shape& shape, const Handle(Standard_Transient)& result);
//! Returns a ShapeMapper for a given Shape (location included)
//! Either <shape> 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)
Standard_EXPORT static Handle(TransferBRep_ShapeMapper) ShapeMapper (const Handle(Transfer_FinderProcess)& FP, const TopoDS_Shape& shape);
//! Fills sequence of TransferResultInfo for each type of entity
//! given in the EntityTypes (entity are given as objects).
//! Method IsKind applied to the entities in TP is used to
//! compare with entities in EntityTypes.
//! TopAbs_ShapeEnum).
Standard_EXPORT static void TransferResultInfo (const Handle(Transfer_TransientProcess)& TP, const Handle(TColStd_HSequenceOfTransient)& EntityTypes, Handle(TransferBRep_HSequenceOfTransferResultInfo)& InfoSeq);
//! Fills sequence of TransferResultInfo for each type of shape
//! given in the ShapeTypes (which are in fact considered as
//! TopAbs_ShapeEnum).
//! The Finders in the FP are considered as ShapeMappers.
Standard_EXPORT static void TransferResultInfo (const Handle(Transfer_FinderProcess)& FP, const Handle(TColStd_HSequenceOfInteger)& ShapeTypes, Handle(TransferBRep_HSequenceOfTransferResultInfo)& InfoSeq);
//! Prints the results of transfer to given priner with given header.
Standard_EXPORT static void PrintResultInfo (const Handle(Message_Printer)& Printer, const Message_Msg& Header, const Handle(TransferBRep_TransferResultInfo)& ResultInfo, const Standard_Boolean printEmpty = Standard_True);
//! Performs a heavy check by calling the Analyser from BRepCheck
//! This tool computes a lot of informations about integrity of a
//! Shape. This method uses it and converts its internal result
//! to a classic check-list.
//! <lev> allows to get more informations :
//! 0 : BRepCheck only
//! 1(D) + Curves/Surfaces not C0 ; 2 + SameParameter on Edges
//! Warning : entities to which checks are bound are the Shapes themselves,
//! embedded in ShapeMapper
Standard_EXPORT static Interface_CheckIterator BRepCheck (const TopoDS_Shape& shape, const Standard_Integer lev = 1);
//! Takes a starting CheckIterator which brings checks bound with
//! starting objects (Shapes, Transient from an Imagine appli ...)
//! and converts it to a CheckIterator in which checks are bound
//! with results in an InterfaceModel
//! Mapping is recorded in the FinderProcess
//! Starting objects for which no individual result is recorded
//! remain in their state
Standard_EXPORT static Interface_CheckIterator ResultCheckList (const Interface_CheckIterator& chl, const Handle(Transfer_FinderProcess)& FP, const Handle(Interface_InterfaceModel)& model);
//! Returns the list of objects to which a non-empty Check is
//! bound in a check-list. Objects are transients, they can then
//! be either Imagine objects entities for an Interface Norm.
//! <alsoshapes> commands Shapes to be returned too
//! (as ShapeMapper), see also CheckedShapes
Standard_EXPORT static Handle(TColStd_HSequenceOfTransient) Checked (const Interface_CheckIterator& chl, const Standard_Boolean alsoshapes = Standard_False);
//! Returns the list of shapes to which a non-empty Check is bound
//! in a check-list
Standard_EXPORT static Handle(TopTools_HSequenceOfShape) CheckedShapes (const Interface_CheckIterator& chl);
//! Returns the check-list bound to a given object, generally none
//! (if OK) or one check. <obj> can be, either a true Transient
//! object or entity, or a ShapeMapper, in that case the Shape is
//! considered
Standard_EXPORT static Interface_CheckIterator CheckObject (const Interface_CheckIterator& chl, const Handle(Standard_Transient)& obj);
protected:
private:
friend class TransferBRep_Reader;
friend class TransferBRep_ShapeInfo;
friend class TransferBRep_BinderOfShape;
friend class TransferBRep_ShapeBinder;
friend class TransferBRep_ShapeListBinder;
friend class TransferBRep_ShapeMapper;
friend class TransferBRep_OrientedShapeMapper;
friend class TransferBRep_TransferResultInfo;
};
#endif // _TransferBRep_HeaderFile

View File

@@ -1,79 +0,0 @@
-- Created on: 1992-02-17
-- Created by: Christian CAILLET
-- Copyright (c) 1992-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class BinderOfShape from TransferBRep inherits Binder from Transfer
---Purpose : Allows direct binding between a starting Object and the Result
-- of its transfer when it is Unique.
-- The Result itself is defined as a formal parameter <Shape from TopoDS>
-- Warning : While it is possible to instantiate BinderOfShape with any Type
-- for the Result, it is not advisable to instantiate it with
-- Transient Classes, because such Results are directly known and
-- managed by TransferProcess & Co, through
-- SimpleBinderOfTransient : this class looks like instantiation
-- of BinderOfShape, but its method ResultType
-- is adapted (reads DynamicType of the Result)
uses CString,
Type,
Shape from TopoDS,
ShapeInfo from TransferBRep
raises TransferFailure
is
Create returns BinderOfShape;
---Purpose : normal standard constructor, creates an empty BinderOfShape
Create (res : any Shape from TopoDS) returns BinderOfShape;
---Purpose : constructor which in the same time defines the result
-- IsMultiple (me) returns Boolean;
---Purpose : Returns True if a starting object is bound with SEVERAL
-- results : Here, returns allways False
-- But it can have next results
ResultType (me) returns Type;
---Purpose : Returns the Type permitted for the Result, i.e. the Type
-- of the Parameter Class <Shape from TopoDS> (statically defined)
ResultTypeName (me) returns CString;
---Purpose : Returns the Type Name computed for the Result (dynamic)
SetResult (me : mutable; res : any Shape from TopoDS)
---Purpose : Defines the Result
raises TransferFailure;
-- Error if the Result is already used (see class Binder)
Result (me) returns any Shape from TopoDS
---Purpose : Returns the defined Result, if there is one
raises TransferFailure;
-- Error if the Result is not defined (see class Binder)
---C++ : return const &
CResult (me : mutable) returns any Shape from TopoDS;
---Purpose : Returns the defined Result, if there is one, and allows to
-- change it (avoids Result + SetResult).
-- Admits that Result can be not yet defined
-- Warning : a call to CResult causes Result to be known as defined
---C++ : return &
fields
theres : Shape from TopoDS;
end BinderOfShape;

View File

@@ -11,11 +11,12 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_BinderOfShape.ixx>
#include <TransferBRep_ShapeInfo.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_TransferFailure.hxx>
#include <TransferBRep_BinderOfShape.hxx>
#include <TransferBRep_ShapeInfo.hxx>
TransferBRep_BinderOfShape::TransferBRep_BinderOfShape (){ }

View File

@@ -0,0 +1,102 @@
// Created on: 1992-02-17
// Created by: Christian CAILLET
// Copyright (c) 1992-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_BinderOfShape_HeaderFile
#define _TransferBRep_BinderOfShape_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_Binder.hxx>
#include <Standard_Type.hxx>
#include <Standard_CString.hxx>
class Transfer_TransferFailure;
class TopoDS_Shape;
class TransferBRep_BinderOfShape;
DEFINE_STANDARD_HANDLE(TransferBRep_BinderOfShape, Transfer_Binder)
//! Allows direct binding between a starting Object and the Result
//! of its transfer when it is Unique.
//! The Result itself is defined as a formal parameter <Shape from TopoDS>
//! Warning : While it is possible to instantiate BinderOfShape with any Type
//! for the Result, it is not advisable to instantiate it with
//! Transient Classes, because such Results are directly known and
//! managed by TransferProcess & Co, through
//! SimpleBinderOfTransient : this class looks like instantiation
//! of BinderOfShape, but its method ResultType
//! is adapted (reads DynamicType of the Result)
class TransferBRep_BinderOfShape : public Transfer_Binder
{
public:
//! normal standard constructor, creates an empty BinderOfShape
Standard_EXPORT TransferBRep_BinderOfShape();
//! constructor which in the same time defines the result
//! Returns True if a starting object is bound with SEVERAL
//! results : Here, returns allways False
//! But it can have next results
Standard_EXPORT TransferBRep_BinderOfShape(const TopoDS_Shape& res);
//! Returns the Type permitted for the Result, i.e. the Type
//! of the Parameter Class <Shape from TopoDS> (statically defined)
Standard_EXPORT Handle(Standard_Type) ResultType() const;
//! Returns the Type Name computed for the Result (dynamic)
Standard_EXPORT Standard_CString ResultTypeName() const;
//! Defines the Result
Standard_EXPORT void SetResult (const TopoDS_Shape& res);
//! Returns the defined Result, if there is one
Standard_EXPORT const TopoDS_Shape& Result() const;
//! Returns the defined Result, if there is one, and allows to
//! change it (avoids Result + SetResult).
//! Admits that Result can be not yet defined
//! Warning : a call to CResult causes Result to be known as defined
Standard_EXPORT TopoDS_Shape& CResult();
DEFINE_STANDARD_RTTI(TransferBRep_BinderOfShape,Transfer_Binder)
protected:
private:
TopoDS_Shape theres;
};
#endif // _TransferBRep_BinderOfShape_HeaderFile

View File

@@ -0,0 +1,78 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_OrientedShapeMapper_HeaderFile
#define _TransferBRep_OrientedShapeMapper_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_Finder.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Type.hxx>
#include <Standard_CString.hxx>
class TopoDS_Shape;
class TopTools_OrientedShapeMapHasher;
class TransferBRep_ShapeInfo;
class Transfer_Finder;
class TransferBRep_OrientedShapeMapper;
DEFINE_STANDARD_HANDLE(TransferBRep_OrientedShapeMapper, Transfer_Finder)
class TransferBRep_OrientedShapeMapper : public Transfer_Finder
{
public:
Standard_EXPORT TransferBRep_OrientedShapeMapper(const TopoDS_Shape& akey);
Standard_EXPORT const TopoDS_Shape& Value() const;
Standard_EXPORT Standard_Boolean Equates (const Handle(Transfer_Finder)& other) const;
Standard_EXPORT virtual Handle(Standard_Type) ValueType() const Standard_OVERRIDE;
Standard_EXPORT virtual Standard_CString ValueTypeName() const Standard_OVERRIDE;
DEFINE_STANDARD_RTTI(TransferBRep_OrientedShapeMapper,Transfer_Finder)
protected:
private:
TopoDS_Shape theval;
};
#endif // _TransferBRep_OrientedShapeMapper_HeaderFile

View File

@@ -0,0 +1,45 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_OrientedShapeMapper.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <TopTools_OrientedShapeMapHasher.hxx>
#include <TransferBRep_ShapeInfo.hxx>
#include <Transfer_Finder.hxx>
#define TheKey TopoDS_Shape
#define TheKey_hxx <TopoDS_Shape.hxx>
#define TheHasher TopTools_OrientedShapeMapHasher
#define TheHasher_hxx <TopTools_OrientedShapeMapHasher.hxx>
#define TheInfo TransferBRep_ShapeInfo
#define TheInfo_hxx <TransferBRep_ShapeInfo.hxx>
#define Transfer_Mapper TransferBRep_OrientedShapeMapper
#define Transfer_Mapper_hxx <TransferBRep_OrientedShapeMapper.hxx>
#define Handle_Transfer_Mapper Handle(TransferBRep_OrientedShapeMapper)
#include <Transfer_Mapper.gxx>

View File

@@ -1,193 +0,0 @@
-- Created on: 1994-10-03
-- Created by: Christian CAILLET
-- Copyright (c) 1994-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class Reader from TransferBRep
---Purpose : This class offers a simple, easy to call, way of transferring
-- data from interface files to Shapes from CasCade
-- It must be specialized according to each norm/protocol, by :
-- - defining how to read a file (specific method with protocol)
-- - definig transfer, by providing an Actor
uses CString, Transient, HSequenceOfTransient from TColStd,
Shape from TopoDS, HSequenceOfShape from TopTools,
InterfaceModel, Protocol from Interface, CheckIterator,
TransientProcess from Transfer, ActorOfTransientProcess from Transfer
raises OutOfRange
is
Create returns Reader;
---Purpose : Initializes a non-specialised Reader. Typically, for each norm
-- or protocol, is will be required to define a specific Create
-- to load a file and transfer it
SetProtocol (me : in out; protocol : Protocol from Interface);
---Purpose : Records the protocol to be used for read and transfer roots
Protocol (me) returns Protocol from Interface is virtual;
---Purpose : Returns the recorded Protocol
SetActor (me : in out; actor : ActorOfTransientProcess from Transfer);
---Purpose : Records the actor to be used for transfers
Actor (me) returns ActorOfTransientProcess is virtual;
---Purpose : Returns the recorded Actor
SetFileStatus (me : in out; status : Integer);
---Purpose : Sets File Status to be interpreted as follows :
-- = 0 OK
-- < 0 file not found
-- > 0 read error, no Model could be created
FileStatus (me) returns Integer;
---Purpose : Returns the File Status
FileNotFound (me) returns Boolean;
---Purpose : Returns True if FileStatus is for FileNotFound
SyntaxError (me) returns Boolean;
---Purpose : Returns True if FileStatus is for Error during read
-- (major error; for local error, see CheckModel)
SetModel (me : in out; model : InterfaceModel);
---Purpose : Specifies a Model to work on
-- Also clears the result and Done status
Model (me) returns InterfaceModel;
---Purpose : Returns the Model to be worked on
Clear (me : in out);
---Purpose : clears the result and Done status. But not the Model.
CheckStatusModel (me; withprint : Boolean) returns Boolean;
---Purpose : Checks the Model. Returns True if there is NO FAIL at all
-- (regardless Warnings)
-- If <withprint> is True, also sends Checks on standard output
CheckListModel (me) returns CheckIterator;
---Purpose : Checks the Model (complete : syntax + semantic) and returns
-- the produced Check List
ModeNewTransfer (me : in out) returns Boolean;
---Purpose : Returns (by Reference, hence can be changed) the Mode for new
-- Transfer : True (D) means that each new Transfer produces a
-- new TransferProcess. Else keeps the original one but each
-- Transfer clears its (former results are not kept)
---C++ : return &
BeginTransfer (me : in out) returns Boolean;
---Purpose : Initializes the Reader for a Transfer (one,roots, or list)
-- Also calls PrepareTransfer
-- Returns True when done, False if could not be done
EndTransfer (me : in out);
---Purpose : Ebds a Transfer (one, roots or list) by recording its result
PrepareTransfer (me : in out) is virtual;
---Purpose : Prepares the Transfer. Also can act on the Actor or change the
-- TransientProcess if required.
-- Should not set the Actor into the TransientProcess, it is done
-- by caller. The provided default does nothing.
TransferRoots (me : in out) is virtual;
---Purpose : Transfers all Root Entities which are recognized as Geom-Topol
-- The result will be a list of Shapes.
-- This method calls user redefinable PrepareTransfer
-- Remark : former result is cleared
Transfer (me : in out; num : Integer) returns Boolean is virtual;
---Purpose : Transfers an Entity given its rank in the Model (Root or not)
-- Returns True if it is recognized as Geom-Topol.
-- (But it can have failed : see IsDone)
TransferList (me : in out; list : HSequenceOfTransient) is virtual;
---Purpose : Transfers a list of Entities (only the ones also in the Model)
-- Remark : former result is cleared
IsDone (me) returns Boolean;
---Purpose : Returns True if the LAST Transfer/TransferRoots was a success
NbShapes (me) returns Integer;
---Purpose : Returns the count of produced Shapes (roots)
Shapes (me) returns HSequenceOfShape;
---Purpose : Returns the complete list of produced Shapes
Shape (me; num : Integer = 1) returns Shape from TopoDS
---Purpose : Returns a Shape given its rank, by default the first one
raises OutOfRange;
-- Error if num < 1 or num > NbShapes
---C++ : return const &
ShapeResult (me; ent : Transient) returns Shape from TopoDS;
---Purpose : Returns a Shape produced from a given entity (if it was
-- individually transferred or if an intermediate result is
-- known). If no Shape is bound with <ent>, returns a Null Shape
-- Warning : Runs on the last call to Transfer,TransferRoots,TransferList
OneShape (me) returns Shape from TopoDS;
---Purpose : Returns a unique Shape for the result :
-- - a void Shape (type = SHAPE) if result is empty
-- - a simple Shape if result has only one : returns this one
-- - a Compound if result has more than one Shape
NbTransients (me) returns Integer;
---Purpose : Returns the count of produced Transient Results (roots)
Transients (me) returns HSequenceOfTransient;
---Purpose : Returns the complete list of produced Transient Results
Transient (me; num : Integer = 1) returns any Transient
---Purpose : Returns a Transient Root Result, given its rank (by default
-- the first one)
raises OutOfRange;
-- Error if num < 1 or num > NbShapes
CheckStatusResult (me; withprints : Boolean) returns Boolean;
---Purpose : Checks the Result of last Transfer (individual or roots, no
-- cumulation on several transfers). Returns True if NO fail
-- occured during Transfer (queries the TransientProcess)
CheckListResult (me) returns CheckIterator;
---Purpose : Checks the Result of last Transfer (individual or roots, no
-- cumulation on several transfers) and returns the produced list
TransientProcess (me) returns TransientProcess;
---Purpose : Returns the TransientProcess. It records informations about
-- the very last transfer done. Null if no transfer yet done.
-- Can be used for queries more accurate than the default ones.
Destroy (me: in out) is virtual;
---C++ : alias "Standard_EXPORT virtual ~TransferBRep_Reader() { Destroy(); }"
fields
theProto : Protocol from Interface;
theActor : ActorOfTransientProcess from Transfer;
theModel : InterfaceModel;
theFilest : Integer;
theDone : Boolean is protected;
theNewpr : Boolean;
theProc : TransientProcess is protected;
theShapes : HSequenceOfShape;
theTransi : HSequenceOfTransient;
end Reader;

View File

@@ -11,17 +11,23 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_Reader.ixx>
#include <Interface_Macros.hxx>
#include <BRep_Builder.hxx>
#include <Interface_CheckIterator.hxx>
#include <Interface_CheckTool.hxx>
#include <Interface_InterfaceModel.hxx>
#include <Interface_Macros.hxx>
#include <Interface_Protocol.hxx>
#include <Message_Messenger.hxx>
#include <Standard_OutOfRange.hxx>
#include <Standard_Transient.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_ActorOfTransientProcess.hxx>
#include <Transfer_TransferOutput.hxx>
#include <Transfer_TransientProcess.hxx>
#include <TransferBRep.hxx>
#include <TopoDS_Compound.hxx>
#include <BRep_Builder.hxx>
#include <Message_Messenger.hxx>
#include <TransferBRep_Reader.hxx>
TransferBRep_Reader::TransferBRep_Reader ()
: theDone (Standard_False) , theFilest (0) , theNewpr (Standard_False)

View File

@@ -0,0 +1,220 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_Reader_HeaderFile
#define _TransferBRep_Reader_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
#include <TopTools_HSequenceOfShape.hxx>
#include <TColStd_HSequenceOfTransient.hxx>
class Interface_Protocol;
class Transfer_ActorOfTransientProcess;
class Interface_InterfaceModel;
class Transfer_TransientProcess;
class Standard_OutOfRange;
class Interface_CheckIterator;
class TopoDS_Shape;
class Standard_Transient;
//! This class offers a simple, easy to call, way of transferring
//! data from interface files to Shapes from CasCade
//! It must be specialized according to each norm/protocol, by :
//! - defining how to read a file (specific method with protocol)
//! - definig transfer, by providing an Actor
class TransferBRep_Reader
{
public:
DEFINE_STANDARD_ALLOC
//! Initializes a non-specialised Reader. Typically, for each norm
//! or protocol, is will be required to define a specific Create
//! to load a file and transfer it
Standard_EXPORT TransferBRep_Reader();
//! Records the protocol to be used for read and transfer roots
Standard_EXPORT void SetProtocol (const Handle(Interface_Protocol)& protocol);
//! Returns the recorded Protocol
Standard_EXPORT virtual Handle(Interface_Protocol) Protocol() const;
//! Records the actor to be used for transfers
Standard_EXPORT void SetActor (const Handle(Transfer_ActorOfTransientProcess)& actor);
//! Returns the recorded Actor
Standard_EXPORT virtual Handle(Transfer_ActorOfTransientProcess) Actor() const;
//! Sets File Status to be interpreted as follows :
//! = 0 OK
//! < 0 file not found
//! > 0 read error, no Model could be created
Standard_EXPORT void SetFileStatus (const Standard_Integer status);
//! Returns the File Status
Standard_EXPORT Standard_Integer FileStatus() const;
//! Returns True if FileStatus is for FileNotFound
Standard_EXPORT Standard_Boolean FileNotFound() const;
//! Returns True if FileStatus is for Error during read
//! (major error; for local error, see CheckModel)
Standard_EXPORT Standard_Boolean SyntaxError() const;
//! Specifies a Model to work on
//! Also clears the result and Done status
Standard_EXPORT void SetModel (const Handle(Interface_InterfaceModel)& model);
//! Returns the Model to be worked on
Standard_EXPORT Handle(Interface_InterfaceModel) Model() const;
//! clears the result and Done status. But not the Model.
Standard_EXPORT void Clear();
//! Checks the Model. Returns True if there is NO FAIL at all
//! (regardless Warnings)
//! If <withprint> is True, also sends Checks on standard output
Standard_EXPORT Standard_Boolean CheckStatusModel (const Standard_Boolean withprint) const;
//! Checks the Model (complete : syntax + semantic) and returns
//! the produced Check List
Standard_EXPORT Interface_CheckIterator CheckListModel() const;
//! Returns (by Reference, hence can be changed) the Mode for new
//! Transfer : True (D) means that each new Transfer produces a
//! new TransferProcess. Else keeps the original one but each
//! Transfer clears its (former results are not kept)
Standard_EXPORT Standard_Boolean& ModeNewTransfer();
//! Initializes the Reader for a Transfer (one,roots, or list)
//! Also calls PrepareTransfer
//! Returns True when done, False if could not be done
Standard_EXPORT Standard_Boolean BeginTransfer();
//! Ebds a Transfer (one, roots or list) by recording its result
Standard_EXPORT void EndTransfer();
//! Prepares the Transfer. Also can act on the Actor or change the
//! TransientProcess if required.
//! Should not set the Actor into the TransientProcess, it is done
//! by caller. The provided default does nothing.
Standard_EXPORT virtual void PrepareTransfer();
//! Transfers all Root Entities which are recognized as Geom-Topol
//! The result will be a list of Shapes.
//! This method calls user redefinable PrepareTransfer
//! Remark : former result is cleared
Standard_EXPORT virtual void TransferRoots();
//! Transfers an Entity given its rank in the Model (Root or not)
//! Returns True if it is recognized as Geom-Topol.
//! (But it can have failed : see IsDone)
Standard_EXPORT virtual Standard_Boolean Transfer (const Standard_Integer num);
//! Transfers a list of Entities (only the ones also in the Model)
//! Remark : former result is cleared
Standard_EXPORT virtual void TransferList (const Handle(TColStd_HSequenceOfTransient)& list);
//! Returns True if the LAST Transfer/TransferRoots was a success
Standard_EXPORT Standard_Boolean IsDone() const;
//! Returns the count of produced Shapes (roots)
Standard_EXPORT Standard_Integer NbShapes() const;
//! Returns the complete list of produced Shapes
Standard_EXPORT Handle(TopTools_HSequenceOfShape) Shapes() const;
//! Returns a Shape given its rank, by default the first one
Standard_EXPORT const TopoDS_Shape& Shape (const Standard_Integer num = 1) const;
//! Returns a Shape produced from a given entity (if it was
//! individually transferred or if an intermediate result is
//! known). If no Shape is bound with <ent>, returns a Null Shape
//! Warning : Runs on the last call to Transfer,TransferRoots,TransferList
Standard_EXPORT TopoDS_Shape ShapeResult (const Handle(Standard_Transient)& ent) const;
//! Returns a unique Shape for the result :
//! - a void Shape (type = SHAPE) if result is empty
//! - a simple Shape if result has only one : returns this one
//! - a Compound if result has more than one Shape
Standard_EXPORT TopoDS_Shape OneShape() const;
//! Returns the count of produced Transient Results (roots)
Standard_EXPORT Standard_Integer NbTransients() const;
//! Returns the complete list of produced Transient Results
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) Transients() const;
//! Returns a Transient Root Result, given its rank (by default
//! the first one)
Standard_EXPORT Handle(Standard_Transient) Transient (const Standard_Integer num = 1) const;
//! Checks the Result of last Transfer (individual or roots, no
//! cumulation on several transfers). Returns True if NO fail
//! occured during Transfer (queries the TransientProcess)
Standard_EXPORT Standard_Boolean CheckStatusResult (const Standard_Boolean withprints) const;
//! Checks the Result of last Transfer (individual or roots, no
//! cumulation on several transfers) and returns the produced list
Standard_EXPORT Interface_CheckIterator CheckListResult() const;
//! Returns the TransientProcess. It records informations about
//! the very last transfer done. Null if no transfer yet done.
//! Can be used for queries more accurate than the default ones.
Standard_EXPORT Handle(Transfer_TransientProcess) TransientProcess() const;
Standard_EXPORT virtual void Destroy();
Standard_EXPORT virtual ~TransferBRep_Reader() { Destroy(); }
protected:
Standard_Boolean theDone;
Handle(Transfer_TransientProcess) theProc;
private:
Handle(Interface_Protocol) theProto;
Handle(Transfer_ActorOfTransientProcess) theActor;
Handle(Interface_InterfaceModel) theModel;
Standard_Integer theFilest;
Standard_Boolean theNewpr;
Handle(TopTools_HSequenceOfShape) theShapes;
Handle(TColStd_HSequenceOfTransient) theTransi;
};
#endif // _TransferBRep_Reader_HeaderFile

View File

@@ -1,51 +0,0 @@
-- Created on: 1994-10-03
-- Created by: Assim
-- Copyright (c) 1994-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ShapeBinder from TransferBRep inherits BinderOfShape
---Purpose : A ShapeBinder is a BinderOfShape with some additional services
-- to cast the Result under various kinds of Shapes
uses ShapeEnum from TopAbs, Shape from TopoDS ,
Vertex from TopoDS, Edge from TopoDS, Wire from TopoDS,
Face from TopoDS, Shell from TopoDS, Solid from TopoDS,
CompSolid from TopoDS, Compound from TopoDS
raises TypeMismatch from Standard
is
Create returns ShapeBinder;
---Purpose : Creates an empty ShapeBinder
Create (res : Shape) returns ShapeBinder;
---Purpose : Creates a ShapeBinder with a result
ShapeType (me) returns ShapeEnum;
---Purpose : Returns the Type of the Shape Result (under TopAbs form)
-- different sub-types for the Result. Result returns a Shape
Vertex (me) returns Vertex raises TypeMismatch from Standard;
Edge (me) returns Edge raises TypeMismatch from Standard;
Wire (me) returns Wire raises TypeMismatch from Standard;
Face (me) returns Face raises TypeMismatch from Standard;
Shell (me) returns Shell raises TypeMismatch from Standard;
Solid (me) returns Solid raises TypeMismatch from Standard;
CompSolid (me) returns CompSolid raises TypeMismatch from Standard;
Compound (me) returns Compound raises TypeMismatch from Standard;
end ShapeBinder;

View File

@@ -11,9 +11,20 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_ShapeBinder.ixx>
#include <TopoDS.hxx>
#include <Standard_Type.hxx>
#include <Standard_TypeMismatch.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_CompSolid.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Shell.hxx>
#include <TopoDS_Solid.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Wire.hxx>
#include <TransferBRep_ShapeBinder.hxx>
TransferBRep_ShapeBinder::TransferBRep_ShapeBinder () { }

View File

@@ -0,0 +1,96 @@
// Created on: 1994-10-03
// Created by: Assim
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_ShapeBinder_HeaderFile
#define _TransferBRep_ShapeBinder_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TransferBRep_BinderOfShape.hxx>
#include <TopAbs_ShapeEnum.hxx>
class Standard_TypeMismatch;
class TopoDS_Shape;
class TopoDS_Vertex;
class TopoDS_Edge;
class TopoDS_Wire;
class TopoDS_Face;
class TopoDS_Shell;
class TopoDS_Solid;
class TopoDS_CompSolid;
class TopoDS_Compound;
class TransferBRep_ShapeBinder;
DEFINE_STANDARD_HANDLE(TransferBRep_ShapeBinder, TransferBRep_BinderOfShape)
//! A ShapeBinder is a BinderOfShape with some additional services
//! to cast the Result under various kinds of Shapes
class TransferBRep_ShapeBinder : public TransferBRep_BinderOfShape
{
public:
//! Creates an empty ShapeBinder
Standard_EXPORT TransferBRep_ShapeBinder();
//! Creates a ShapeBinder with a result
Standard_EXPORT TransferBRep_ShapeBinder(const TopoDS_Shape& res);
//! Returns the Type of the Shape Result (under TopAbs form)
Standard_EXPORT TopAbs_ShapeEnum ShapeType() const;
Standard_EXPORT TopoDS_Vertex Vertex() const;
Standard_EXPORT TopoDS_Edge Edge() const;
Standard_EXPORT TopoDS_Wire Wire() const;
Standard_EXPORT TopoDS_Face Face() const;
Standard_EXPORT TopoDS_Shell Shell() const;
Standard_EXPORT TopoDS_Solid Solid() const;
Standard_EXPORT TopoDS_CompSolid CompSolid() const;
Standard_EXPORT TopoDS_Compound Compound() const;
DEFINE_STANDARD_RTTI(TransferBRep_ShapeBinder,TransferBRep_BinderOfShape)
protected:
private:
};
#endif // _TransferBRep_ShapeBinder_HeaderFile

View File

@@ -1,34 +0,0 @@
-- Created on: 1996-09-04
-- Created by: Christian CAILLET
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ShapeInfo from TransferBRep
---Purpose : Gives informations on an object, see template DataInfo
-- This class is for Shape
uses Type, Shape
is
Type (myclass; ent : Shape) returns Type;
---Purpose : Returns the Type attached to an object
-- Here, TShape (Shape has no Dynamic Type)
TypeName (myclass; ent : Shape) returns CString;
---Purpose : Returns Type Name (string)
-- Here, the true name of the Type of a Shape
end ShapeInfo;

View File

@@ -11,9 +11,10 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_ShapeInfo.ixx>
#include <TopoDS_TShape.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_TShape.hxx>
#include <TransferBRep_ShapeInfo.hxx>
Handle(Standard_Type) TransferBRep_ShapeInfo::Type
(const TopoDS_Shape& /*ent*/)

View File

@@ -0,0 +1,69 @@
// Created on: 1996-09-04
// Created by: Christian CAILLET
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_ShapeInfo_HeaderFile
#define _TransferBRep_ShapeInfo_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Type.hxx>
#include <Standard_CString.hxx>
class TopoDS_Shape;
//! Gives informations on an object, see template DataInfo
//! This class is for Shape
class TransferBRep_ShapeInfo
{
public:
DEFINE_STANDARD_ALLOC
//! Returns the Type attached to an object
//! Here, TShape (Shape has no Dynamic Type)
Standard_EXPORT static Handle(Standard_Type) Type (const TopoDS_Shape& ent);
//! Returns Type Name (string)
//! Here, the true name of the Type of a Shape
Standard_EXPORT static Standard_CString TypeName (const TopoDS_Shape& ent);
protected:
private:
};
#endif // _TransferBRep_ShapeInfo_HeaderFile

View File

@@ -1,80 +0,0 @@
-- Created on: 1994-10-03
-- Created by: Christian CAILLET
-- Copyright (c) 1994-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ShapeListBinder from TransferBRep inherits Binder from Transfer
---Purpose : This binder binds several (a list of) shapes with a starting
-- entity, when this entity itself corresponds to a simple list
-- of shapes. Each part is not seen as a sub-result of an
-- independant componant, but as an item of a built-in list
uses CString, Type,
ShapeEnum from TopAbs, Shape from TopoDS ,
Vertex from TopoDS, Edge from TopoDS, Wire from TopoDS,
Face from TopoDS, Shell from TopoDS, Solid from TopoDS,
CompSolid from TopoDS, Compound from TopoDS ,
HSequenceOfShape from TopTools
raises TypeMismatch, OutOfRange
is
Create returns ShapeListBinder;
Create (list : HSequenceOfShape from TopTools)
returns ShapeListBinder;
IsMultiple (me) returns Boolean is redefined;
-- returns True if more than one result
ResultType (me) returns Type;
-- returns TopoDS_Shape
ResultTypeName (me) returns CString;
-- returns list(TopoDS_Shape)
AddResult (me : mutable; res : Shape);
---Purpose : Adds an item to the result list
Result (me) returns HSequenceOfShape from TopTools;
SetResult (me : mutable; num : Integer; res : Shape);
---Purpose : Changes an already defined sub-result
NbShapes (me) returns Integer;
Shape (me; num : Integer) returns Shape
raises OutOfRange;
---C++ : return const &
ShapeType (me; num : Integer) returns ShapeEnum;
-- different sub-types for the Result. Shape(num) returns a Shape
Vertex (me; num : Integer) returns Vertex raises TypeMismatch, OutOfRange;
Edge (me; num : Integer) returns Edge raises TypeMismatch, OutOfRange;
Wire (me; num : Integer) returns Wire raises TypeMismatch, OutOfRange;
Face (me; num : Integer) returns Face raises TypeMismatch, OutOfRange;
Shell (me; num : Integer) returns Shell raises TypeMismatch, OutOfRange;
Solid (me; num : Integer) returns Solid raises TypeMismatch, OutOfRange;
CompSolid (me; num : Integer) returns CompSolid raises TypeMismatch, OutOfRange;
Compound (me; num : Integer) returns Compound raises TypeMismatch, OutOfRange;
fields
theres : HSequenceOfShape from TopTools;
end ShapeListBinder;

View File

@@ -11,8 +11,21 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_ShapeListBinder.ixx>
#include <TopoDS.hxx>
#include <Standard_OutOfRange.hxx>
#include <Standard_Type.hxx>
#include <Standard_TypeMismatch.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_CompSolid.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Shell.hxx>
#include <TopoDS_Solid.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Wire.hxx>
#include <TransferBRep_ShapeListBinder.hxx>
TransferBRep_ShapeListBinder::TransferBRep_ShapeListBinder ()
{ theres = new TopTools_HSequenceOfShape(); }

View File

@@ -0,0 +1,120 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_ShapeListBinder_HeaderFile
#define _TransferBRep_ShapeListBinder_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TopTools_HSequenceOfShape.hxx>
#include <Transfer_Binder.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Type.hxx>
#include <Standard_CString.hxx>
#include <Standard_Integer.hxx>
#include <TopAbs_ShapeEnum.hxx>
class Standard_TypeMismatch;
class Standard_OutOfRange;
class TopoDS_Shape;
class TopoDS_Vertex;
class TopoDS_Edge;
class TopoDS_Wire;
class TopoDS_Face;
class TopoDS_Shell;
class TopoDS_Solid;
class TopoDS_CompSolid;
class TopoDS_Compound;
class TransferBRep_ShapeListBinder;
DEFINE_STANDARD_HANDLE(TransferBRep_ShapeListBinder, Transfer_Binder)
//! This binder binds several (a list of) shapes with a starting
//! entity, when this entity itself corresponds to a simple list
//! of shapes. Each part is not seen as a sub-result of an
//! independant componant, but as an item of a built-in list
class TransferBRep_ShapeListBinder : public Transfer_Binder
{
public:
Standard_EXPORT TransferBRep_ShapeListBinder();
Standard_EXPORT TransferBRep_ShapeListBinder(const Handle(TopTools_HSequenceOfShape)& list);
Standard_EXPORT virtual Standard_Boolean IsMultiple() const Standard_OVERRIDE;
Standard_EXPORT Handle(Standard_Type) ResultType() const;
Standard_EXPORT Standard_CString ResultTypeName() const;
//! Adds an item to the result list
Standard_EXPORT void AddResult (const TopoDS_Shape& res);
Standard_EXPORT Handle(TopTools_HSequenceOfShape) Result() const;
//! Changes an already defined sub-result
Standard_EXPORT void SetResult (const Standard_Integer num, const TopoDS_Shape& res);
Standard_EXPORT Standard_Integer NbShapes() const;
Standard_EXPORT const TopoDS_Shape& Shape (const Standard_Integer num) const;
Standard_EXPORT TopAbs_ShapeEnum ShapeType (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Vertex Vertex (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Edge Edge (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Wire Wire (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Face Face (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Shell Shell (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Solid Solid (const Standard_Integer num) const;
Standard_EXPORT TopoDS_CompSolid CompSolid (const Standard_Integer num) const;
Standard_EXPORT TopoDS_Compound Compound (const Standard_Integer num) const;
DEFINE_STANDARD_RTTI(TransferBRep_ShapeListBinder,Transfer_Binder)
protected:
private:
Handle(TopTools_HSequenceOfShape) theres;
};
#endif // _TransferBRep_ShapeListBinder_HeaderFile

View File

@@ -0,0 +1,78 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_ShapeMapper_HeaderFile
#define _TransferBRep_ShapeMapper_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <Transfer_Finder.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Type.hxx>
#include <Standard_CString.hxx>
class TopoDS_Shape;
class TopTools_ShapeMapHasher;
class TransferBRep_ShapeInfo;
class Transfer_Finder;
class TransferBRep_ShapeMapper;
DEFINE_STANDARD_HANDLE(TransferBRep_ShapeMapper, Transfer_Finder)
class TransferBRep_ShapeMapper : public Transfer_Finder
{
public:
Standard_EXPORT TransferBRep_ShapeMapper(const TopoDS_Shape& akey);
Standard_EXPORT const TopoDS_Shape& Value() const;
Standard_EXPORT Standard_Boolean Equates (const Handle(Transfer_Finder)& other) const;
Standard_EXPORT virtual Handle(Standard_Type) ValueType() const Standard_OVERRIDE;
Standard_EXPORT virtual Standard_CString ValueTypeName() const Standard_OVERRIDE;
DEFINE_STANDARD_RTTI(TransferBRep_ShapeMapper,Transfer_Finder)
protected:
private:
TopoDS_Shape theval;
};
#endif // _TransferBRep_ShapeMapper_HeaderFile

View File

@@ -0,0 +1,45 @@
// Created on: 1994-10-03
// Created by: Christian CAILLET
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_ShapeMapper.hxx>
#include <Standard_Type.hxx>
#include <TopoDS_Shape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
#include <TransferBRep_ShapeInfo.hxx>
#include <Transfer_Finder.hxx>
#define TheKey TopoDS_Shape
#define TheKey_hxx <TopoDS_Shape.hxx>
#define TheHasher TopTools_ShapeMapHasher
#define TheHasher_hxx <TopTools_ShapeMapHasher.hxx>
#define TheInfo TransferBRep_ShapeInfo
#define TheInfo_hxx <TransferBRep_ShapeInfo.hxx>
#define Transfer_Mapper TransferBRep_ShapeMapper
#define Transfer_Mapper_hxx <TransferBRep_ShapeMapper.hxx>
#define Handle_Transfer_Mapper Handle(TransferBRep_ShapeMapper)
#include <Transfer_Mapper.gxx>

View File

@@ -1,75 +0,0 @@
-- Created on: 1999-08-11
-- Created by: Roman LYGIN
-- Copyright (c) 1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class TransferResultInfo from TransferBRep inherits TShared from MMgt
---Purpose: Data structure for storing information on transfer result.
-- At the moment it dispatches information for the following types:
-- - result,
-- - result + warning(s),
-- - result + fail(s),
-- - result + warning(s) + fail(s)
-- - no result,
-- - no result + warning(s),
-- - no result + fail(s),
-- - no result + warning(s) + fail(s),
is
Create returns TransferResultInfo from TransferBRep;
---Purpose: Creates object with all fields nullified.
Clear (me: mutable);
---Purpose: Resets all the fields.
Result (me: mutable) returns Integer;
---C++: inline
---C++: return &
ResultWarning (me: mutable) returns Integer;
---C++: inline
---C++: return &
ResultFail (me: mutable) returns Integer;
---C++: inline
---C++: return &
ResultWarningFail (me: mutable) returns Integer;
---C++: inline
---C++: return &
NoResult (me: mutable) returns Integer;
---C++: inline
---C++: return &
NoResultWarning (me: mutable) returns Integer;
---C++: inline
---C++: return &
NoResultFail (me: mutable) returns Integer;
---C++: inline
---C++: return &
NoResultWarningFail (me: mutable) returns Integer;
---C++: inline
---C++: return &
fields
myR, myRW, myRF, myRWF,
myNR, myNRW, myNRF, myNRWF: Integer;
end TransferResultInfo;

View File

@@ -14,13 +14,14 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <TransferBRep_TransferResultInfo.ixx>
#include <Standard_Type.hxx>
#include <TransferBRep_TransferResultInfo.hxx>
//=======================================================================
//function : TransferBRep_TransferResultInfo
//purpose :
//=======================================================================
TransferBRep_TransferResultInfo::TransferBRep_TransferResultInfo()
{
Clear();

View File

@@ -0,0 +1,100 @@
// Created on: 1999-08-11
// Created by: Roman LYGIN
// Copyright (c) 1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _TransferBRep_TransferResultInfo_HeaderFile
#define _TransferBRep_TransferResultInfo_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Integer.hxx>
#include <MMgt_TShared.hxx>
class TransferBRep_TransferResultInfo;
DEFINE_STANDARD_HANDLE(TransferBRep_TransferResultInfo, MMgt_TShared)
//! Data structure for storing information on transfer result.
//! At the moment it dispatches information for the following types:
//! - result,
//! - result + warning(s),
//! - result + fail(s),
//! - result + warning(s) + fail(s)
//! - no result,
//! - no result + warning(s),
//! - no result + fail(s),
//! - no result + warning(s) + fail(s),
class TransferBRep_TransferResultInfo : public MMgt_TShared
{
public:
//! Creates object with all fields nullified.
Standard_EXPORT TransferBRep_TransferResultInfo();
//! Resets all the fields.
Standard_EXPORT void Clear();
Standard_Integer& Result();
Standard_Integer& ResultWarning();
Standard_Integer& ResultFail();
Standard_Integer& ResultWarningFail();
Standard_Integer& NoResult();
Standard_Integer& NoResultWarning();
Standard_Integer& NoResultFail();
Standard_Integer& NoResultWarningFail();
DEFINE_STANDARD_RTTI(TransferBRep_TransferResultInfo,MMgt_TShared)
protected:
private:
Standard_Integer myR;
Standard_Integer myRW;
Standard_Integer myRF;
Standard_Integer myRWF;
Standard_Integer myNR;
Standard_Integer myNRW;
Standard_Integer myNRF;
Standard_Integer myNRWF;
};
#include <TransferBRep_TransferResultInfo.lxx>
#endif // _TransferBRep_TransferResultInfo_HeaderFile