// Created on: 1993-01-09 // Created by: CKY / Contract Toubro-Larsen ( TCD ) // Copyright (c) 1993-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 _IGESDraw_Planar_HeaderFile #define _IGESDraw_Planar_HeaderFile #include "Standard.hxx" #include "Standard_Integer.hxx" #include "IGESData_IGESEntity.hxx" #include "NCollection_Array1.hxx" #include "NCollection_HArray1.hxx" class IGESGeom_TransformationMatrix; //! defines IGESPlanar, Type <402> Form <16> //! in package IGESDraw //! //! Indicates that a collection of entities is coplanar.The //! entities may be geometric, annotative, and/or structural. class IGESDraw_Planar : public IGESData_IGESEntity { public: Standard_EXPORT IGESDraw_Planar(); //! This method is used to set the fields of the class Planar //! - nbMats : Number of Transformation matrices //! - aTransformationMatrix : Pointer to the Transformation matrix //! - allEntities : Pointers to the entities specified Standard_EXPORT void Init( const int nbMats, const occ::handle& aTransformationMatrix, const occ::handle>>& allEntities); //! returns the number of Transformation matrices in Standard_EXPORT int NbMatrices() const; //! returns the number of Entities in the plane pointed to by this //! associativity Standard_EXPORT int NbEntities() const; //! returns True if TransformationMatrix is Identity Matrix, //! i.e:- No Matrix defined. Standard_EXPORT bool IsIdentityMatrix() const; //! returns the Transformation matrix moving data from the XY plane //! into space or zero Standard_EXPORT occ::handle TransformMatrix() const; //! returns the Entity on the specified plane, indicated by EntityIndex //! raises an exception if EntityIndex <= 0 or //! EntityIndex > NbEntities() Standard_EXPORT occ::handle Entity(const int EntityIndex) const; DEFINE_STANDARD_RTTIEXT(IGESDraw_Planar, IGESData_IGESEntity) private: int theNbMatrices; occ::handle theTransformationMatrix; occ::handle>> theEntities; }; #endif // _IGESDraw_Planar_HeaderFile