|
|
|||
File indexing completed on 2026-09-20 09:19:06
0001 // Created on: 1997-01-03 0002 // Created by: Christian CAILLET 0003 // Copyright (c) 1997-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 _StepData_FreeFormEntity_HeaderFile 0018 #define _StepData_FreeFormEntity_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_Type.hxx> 0022 0023 #include <StepData_Field.hxx> 0024 #include <NCollection_Array1.hxx> 0025 #include <NCollection_HArray1.hxx> 0026 #include <Standard_Transient.hxx> 0027 #include <Standard_CString.hxx> 0028 #include <TCollection_AsciiString.hxx> 0029 #include <NCollection_Sequence.hxx> 0030 #include <NCollection_HSequence.hxx> 0031 #include <Standard_Integer.hxx> 0032 class StepData_Field; 0033 0034 //! A Free Form Entity allows to record any kind of STEP 0035 //! parameters, in any way of typing 0036 //! It is implemented with an array of fields 0037 //! A Complex entity can be defined, as a chain of FreeFormEntity 0038 //! (see Next and As) 0039 class StepData_FreeFormEntity : public Standard_Transient 0040 { 0041 0042 public: 0043 //! Creates a FreeFormEntity, with no field, no type 0044 Standard_EXPORT StepData_FreeFormEntity(); 0045 0046 //! Sets the type of an entity 0047 //! For a complex one, the type of this member 0048 Standard_EXPORT void SetStepType(const char* const typenam); 0049 0050 //! Returns the recorded StepType 0051 //! For a complex one, the type of this member 0052 Standard_EXPORT const char* StepType() const; 0053 0054 //! Sets a next member, in order to define or complete a Complex 0055 //! entity 0056 //! If <last> is True (D), this next will be set as last of list 0057 //! Else, it is inserted just as next of <me> 0058 //! If <next> is Null, Next is cleared 0059 Standard_EXPORT void SetNext(const occ::handle<StepData_FreeFormEntity>& next, 0060 const bool last = true); 0061 0062 //! Returns the next member of a Complex entity 0063 //! (remark : the last member has none) 0064 Standard_EXPORT occ::handle<StepData_FreeFormEntity> Next() const; 0065 0066 //! Returns True if a FreeFormEntity is Complex (i.e. has Next) 0067 Standard_EXPORT bool IsComplex() const; 0068 0069 //! Returns the member of a FreeFormEntity of which the type name 0070 //! is given (exact match, no sub-type) 0071 Standard_EXPORT occ::handle<StepData_FreeFormEntity> Typed(const char* const typenam) const; 0072 0073 //! Returns the list of types (one type for a simple entity), 0074 //! as is (non reordered) 0075 Standard_EXPORT occ::handle<NCollection_HSequence<TCollection_AsciiString>> TypeList() const; 0076 0077 //! Reorders a Complex entity if required, i.e. if member types 0078 //! are not in alphabetic order 0079 //! Returns False if nothing done (order was OK or simple entity), 0080 //! True plus modified <ent> if <ent> has been reordered 0081 Standard_EXPORT static bool Reorder(occ::handle<StepData_FreeFormEntity>& ent); 0082 0083 //! Sets a count of Fields, from scratch 0084 Standard_EXPORT void SetNbFields(const int nb); 0085 0086 //! Returns the count of fields 0087 Standard_EXPORT int NbFields() const; 0088 0089 //! Returns a field from its rank, for read-only use 0090 Standard_EXPORT const StepData_Field& Field(const int num) const; 0091 0092 //! Returns a field from its rank, in order to modify it 0093 Standard_EXPORT StepData_Field& CField(const int num); 0094 0095 DEFINE_STANDARD_RTTIEXT(StepData_FreeFormEntity, Standard_Transient) 0096 0097 private: 0098 TCollection_AsciiString thetype; 0099 occ::handle<NCollection_HArray1<StepData_Field>> thefields; 0100 occ::handle<StepData_FreeFormEntity> thenext; 0101 }; 0102 0103 #endif // _StepData_FreeFormEntity_HeaderFile
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|