// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _PrsMgr_Prs_HeaderFile
#define _PrsMgr_Prs_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_PrsMgr_Prs.hxx>

#include <PrsMgr_PresentationPointer.hxx>
#include <Prs3d_Presentation.hxx>
#include <Handle_Graphic3d_StructureManager.hxx>
#include <PrsMgr_TypeOfPresentation3d.hxx>
#include <Handle_Graphic3d_Structure.hxx>
#include <Handle_Graphic3d_DataStructureManager.hxx>
class Graphic3d_StructureManager;
class Graphic3d_Structure;
class Graphic3d_DataStructureManager;
class TColStd_Array2OfReal;



class PrsMgr_Prs : public Prs3d_Presentation
{

public:

  
  Standard_EXPORT PrsMgr_Prs(const Handle(Graphic3d_StructureManager)& theStructManager, const PrsMgr_PresentationPointer& thePresentation, const PrsMgr_TypeOfPresentation3d theTypeOfPresentation3d);
  
  Standard_EXPORT   void Compute() ;
  
  Standard_EXPORT   Handle(Graphic3d_Structure) Compute (const Handle(Graphic3d_DataStructureManager)& aProjector) ;
  
  //! the "degenerated" Structure is displayed with
  //! a transformation defined by <AMatrix>
  //! which is not a Pure Translation.
  //! We have to take in account this Transformation
  //! in the computation of hidden line removal...
  //! returns a filled Graphic Structure.
  Standard_EXPORT   Handle(Graphic3d_Structure) Compute (const Handle(Graphic3d_DataStructureManager)& aProjector, const TColStd_Array2OfReal& AMatrix) ;
  
  //! No need to return a structure, just to fill
  //! <ComputedStruct> ....
  Standard_EXPORT   void Compute (const Handle(Graphic3d_DataStructureManager)& aProjector, Handle(Graphic3d_Structure)& ComputedStruct) ;
  
  //! No Need to return a Structure, just to
  //! Fill <aStructure>. The Trsf has to be taken in account
  //! in the computation (Rotation Part....)
  Standard_EXPORT   void Compute (const Handle(Graphic3d_DataStructureManager)& aProjector, const TColStd_Array2OfReal& AMatrix, Handle(Graphic3d_Structure)& aStructure) ;




  DEFINE_STANDARD_RTTI(PrsMgr_Prs)

protected:




private: 


  PrsMgr_PresentationPointer myPresentation3d;


};







#endif // _PrsMgr_Prs_HeaderFile
