Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-17 09:22:12

0001 // Created on: 2000-05-11
0002 // Created by: data exchange team
0003 // Copyright (c) 2000-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 #ifndef _StepRepr_CharacterizedDefinition_HeaderFile
0017 #define _StepRepr_CharacterizedDefinition_HeaderFile
0018 
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 #include <Standard_Handle.hxx>
0022 
0023 #include <StepData_SelectType.hxx>
0024 #include <Standard_Integer.hxx>
0025 class Standard_Transient;
0026 class StepBasic_CharacterizedObject;
0027 class StepBasic_ProductDefinition;
0028 class StepBasic_ProductDefinitionRelationship;
0029 class StepRepr_ProductDefinitionShape;
0030 class StepRepr_ShapeAspect;
0031 class StepRepr_ShapeAspectRelationship;
0032 class StepBasic_DocumentFile;
0033 
0034 //! Representation of STEP SELECT type CharacterizedDefinition
0035 class StepRepr_CharacterizedDefinition : public StepData_SelectType
0036 {
0037 public:
0038   DEFINE_STANDARD_ALLOC
0039 
0040   //! Empty constructor
0041   Standard_EXPORT StepRepr_CharacterizedDefinition();
0042 
0043   //! Recognizes a kind of CharacterizedDefinition select type
0044   //! 1 -> CharacterizedObject from StepBasic
0045   //! 2 -> ProductDefinition from StepBasic
0046   //! 3 -> ProductDefinitionRelationship from StepBasic
0047   //! 4 -> ProductDefinitionShape from StepRepr
0048   //! 5 -> ShapeAspect from StepRepr
0049   //! 6 -> ShapeAspectRelationship from StepRepr
0050   //! 7 -> DocumentFile from StepBasic
0051   //! 0 else
0052   Standard_EXPORT int CaseNum(const occ::handle<Standard_Transient>& ent) const override;
0053 
0054   //! Returns Value as CharacterizedObject (or Null if another type)
0055   Standard_EXPORT occ::handle<StepBasic_CharacterizedObject> CharacterizedObject() const;
0056 
0057   //! Returns Value as ProductDefinition (or Null if another type)
0058   Standard_EXPORT occ::handle<StepBasic_ProductDefinition> ProductDefinition() const;
0059 
0060   //! Returns Value as ProductDefinitionRelationship (or Null if another type)
0061   Standard_EXPORT occ::handle<StepBasic_ProductDefinitionRelationship>
0062                   ProductDefinitionRelationship() const;
0063 
0064   //! Returns Value as ProductDefinitionShape (or Null if another type)
0065   Standard_EXPORT occ::handle<StepRepr_ProductDefinitionShape> ProductDefinitionShape() const;
0066 
0067   //! Returns Value as ShapeAspect (or Null if another type)
0068   Standard_EXPORT occ::handle<StepRepr_ShapeAspect> ShapeAspect() const;
0069 
0070   //! Returns Value as ShapeAspectRelationship (or Null if another type)
0071   Standard_EXPORT occ::handle<StepRepr_ShapeAspectRelationship> ShapeAspectRelationship() const;
0072 
0073   //! Returns Value as DocumentFile (or Null if another type)
0074   Standard_EXPORT occ::handle<StepBasic_DocumentFile> DocumentFile() const;
0075 };
0076 
0077 #endif // _StepRepr_CharacterizedDefinition_HeaderFile