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
|
// File generated by CPPExt (Value)
//
// 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 _STEPControl_Reader_HeaderFile
#define _STEPControl_Reader_HeaderFile
#ifndef _XSControl_Reader_HeaderFile
#include <XSControl_Reader.hxx>
#endif
#ifndef _Handle_XSControl_WorkSession_HeaderFile
#include <Handle_XSControl_WorkSession.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_StepData_StepModel_HeaderFile
#include <Handle_StepData_StepModel.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class XSControl_WorkSession;
class StepData_StepModel;
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
//! Reads STEP files, checks them and translates their contents <br>
//! into Open CASCADE models. The STEP data can be that of <br>
//! a whole model or that of a specific list of entities in the model. <br>
//! As in XSControl_Reader, you specify the list using a selection. <br>
//! For the translation of iges files it is possible to use next sequence: <br>
//! To change translation parameters <br>
//! class Interface_Static should be used before beginning of <br>
//! translation (see STEP Parameters and General Parameters) <br>
//! Creation of reader - STEPControl_Reader reader; <br>
//! To load s file in a model use method reader.ReadFile("filename.stp") <br>
//! To print load results reader.PrintCheckLoad(failsonly,mode) <br>
//! where mode is equal to the value of enumeration IFSelect_PrintCount <br>
//! For definition number of candidates : <br>
//! Standard_Integer nbroots = reader. NbRootsForTransfer(); <br>
//! To transfer entities from a model the following methods can be used: <br>
//! for the whole model - reader.TransferRoots(); <br>
//! to transfer a list of entities: reader.TransferList(list); <br>
//! to transfer one entity Handle(Standard_Transient) <br>
//! ent = reader.RootForTransfer(num); <br>
//! reader.TransferEntity(ent), or <br>
//! reader.TransferOneRoot(num), or <br>
//! reader.TransferOne(num), or <br>
//! reader.TransferRoot(num) <br>
//! To obtain the result the following method can be used: <br>
//! reader.NbShapes() and reader.Shape(num); or reader.OneShape(); <br>
//! To print the results of transfer use method: <br>
//! reader.PrintCheckTransfer(failwarn,mode); <br>
//! where printfail is equal to the value of enumeration <br>
//! IFSelect_PrintFail, mode see above; or reader.PrintStatsTransfer(); <br>
//! Gets correspondence between a STEP entity and a result <br>
//! shape obtained from it. <br>
//! Handle(XSControl_WorkSession) <br>
//! WS = reader.WS(); <br>
//! if ( WS->TransferReader()->HasResult(ent) ) <br>
//! TopoDS_Shape shape = WS->TransferReader()->ShapeResult(ent); <br>
class STEPControl_Reader : public XSControl_Reader {
public:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
void* operator new(size_t size)
{
return Standard::Allocate(size);
}
void operator delete(void *anAddress)
{
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
// Methods PUBLIC
//
//! Creates a reader object with an empty STEP model. <br>
Standard_EXPORT STEPControl_Reader();
//! Creates a Reader for STEP from an already existing Session <br>
//! Clears the session if it was not yet set for STEP <br>
Standard_EXPORT STEPControl_Reader(const Handle(XSControl_WorkSession)& WS,const Standard_Boolean scratch = Standard_True);
//! Returns the model as a StepModel. <br>
//! It can then be consulted (header, product) <br>
Standard_EXPORT Handle_StepData_StepModel StepModel() const;
//! Transfers a root given its rank in the list of candidate roots <br>
//! Default is the first one <br>
//! Returns True if a shape has resulted, false else <br>
//! Same as inherited TransferOneRoot, kept for compatibility <br>
Standard_EXPORT Standard_Boolean TransferRoot(const Standard_Integer num = 1) ;
//! Determines the list of root entities from Model which are candidate for <br>
//! a transfer to a Shape (type of entities is PRODUCT) <br>
Standard_EXPORT virtual Standard_Integer NbRootsForTransfer() ;
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private:
// Methods PRIVATE
//
// Fields PRIVATE
//
};
// other Inline functions and methods (like "C++: function call" methods)
//
#endif
|