#include <Graphic3d_DataStructureManager.hxx>
#include <Graphic3d_Structure.hxx>
#include <Precision.hxx>
+#include <Prs3d_Drawer.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Projector.hxx>
#include <PrsMgr_ModedPresentation.hxx>
#include <Standard_Type.hxx>
#include <Graphic3d_CView.hxx>
-IMPLEMENT_STANDARD_RTTIEXT(PrsMgr_Presentation,MMgt_TShared)
+IMPLEMENT_STANDARD_RTTIEXT(PrsMgr_Presentation, Standard_Transient)
namespace
{
//function : Highlight
//purpose :
//=======================================================================
-void PrsMgr_Presentation::Highlight (const Aspect_TypeOfHighlightMethod theMethod,
- const Quantity_Color& theColor)
+void PrsMgr_Presentation::Highlight (const Handle(Prs3d_Drawer)& theStyle)
{
if (!IsHighlighted())
{
}
display (Standard_True);
- myStructure->Highlight (theMethod, theColor);
+ myStructure->Highlight (theStyle);
}
//=======================================================================
const Handle(Geom_Transformation)& theTrsf)
{
Handle(Prs3d_Presentation) aPrs3d = new Prs3d_Presentation (myPresentationManager->StructureManager());
- if (theTrsf->Form() == gp_Translation)
- {
- myPresentableObject->Compute (Projector (theProjector), aPrs3d);
- aPrs3d->SetTransformation (theTrsf);
- return aPrs3d;
- }
-
- // waiting that something is done in gp_Trsf...rob
- for (Standard_Integer i = 1; i <= 3; ++i)
- {
- for (Standard_Integer j = 1; j <= 3; ++j)
- {
- if (i != j)
- {
- if (Abs (theTrsf->Value (i, j)) > Precision::Confusion())
- {
- myPresentableObject->Compute (Projector (theProjector), theTrsf, aPrs3d);
- return aPrs3d;
- }
- }
- }
- }
-
- myPresentableObject->Compute (Projector (theProjector), aPrs3d);
- aPrs3d->SetTransformation (theTrsf);
+ myPresentableObject->Compute (Projector (theProjector), theTrsf, aPrs3d);
return aPrs3d;
}