#include <Poly_Triangulation.hxx>
#include <TColgp_Array1OfDir.hxx>
#include <GProp_PGProps.hxx>
-#include <Graphic3d_Array1OfVertex.hxx>
#include <Quantity_Color.hxx>
#include <BRepMesh_IncrementalMesh.hxx>
#include <Prs3d.hxx>
myShape = S.Shape();
SetHilightMode(0);
myDrawer->SetShadingAspect(new Prs3d_ShadingAspect());
- myPlanarFaceColor = Quantity_NOC_FIREBRICK3;
- myCylindricalFaceColor = Quantity_NOC_GRAY;
+ myColor = Quantity_NOC_GRAY;
}
User_Cylinder::User_Cylinder(const gp_Ax2 CylAx2, const Standard_Real R, const Standard_Real H) :
myShape = aNurbsConvert.Shape();
SetHilightMode(0);
myDrawer->SetShadingAspect(new Prs3d_ShadingAspect());
- myPlanarFaceColor = Quantity_NOC_FIREBRICK3;
- myCylindricalFaceColor = Quantity_NOC_KHAKI4;
+ myColor = Quantity_NOC_KHAKI4;
}
void User_Cylinder::Compute(const Handle(PrsMgr_PresentationManager3d)& /*aPresentationManager*/,
const Standard_Integer aMode )
{
switch (aMode) {
-case 0:
- StdPrs_WFShape::Add(aPresentation,myShape, myDrawer );
- break;
-case 1:
+case AIS_WireFrame:
+ {
+ StdPrs_WFShape::Add(aPresentation,myShape, myDrawer );
+ break;
+ }
+case AIS_Shaded:
{
-
Standard_Real aTransparency = Transparency();
Graphic3d_NameOfMaterial aMaterial = Material();
- myDrawer->SetShadingAspectGlobal(Standard_False);
- TopExp_Explorer Ex;
- Handle(Geom_Surface) Surface;
-
- for (Ex.Init(myShape,TopAbs_FACE); Ex.More(); Ex.Next())
- {
-
- Surface = BRep_Tool::Surface(TopoDS::Face(Ex.Current()));
- myDrawer->ShadingAspect()->SetMaterial(aMaterial);
- if (Surface->IsKind(STANDARD_TYPE(Geom_Plane)))
- myDrawer->ShadingAspect()->SetColor(myPlanarFaceColor);
- else
- myDrawer->ShadingAspect()->SetColor(myCylindricalFaceColor);
-
-
- myDrawer->ShadingAspect()->SetTransparency (aTransparency);
- StdPrs_ShadedShape::Add(aPresentation,Ex.Current(), myDrawer);
- }
+ myDrawer->ShadingAspect()->SetMaterial(aMaterial);
+ myDrawer->ShadingAspect()->SetColor(myColor);
+ myDrawer->ShadingAspect()->SetTransparency (aTransparency);
+ StdPrs_ShadedShape::Add(aPresentation,myShape, myDrawer);
break;
-
}
case 6: //color
{
myX1OnOff = Dlg.X1OnOff;
- myXBlueOnOff = Dlg.m_CheckXBlueOnOff;
- myXGreenOnOff = Dlg.m_CheckXGreenOnOff;
- myXRedOnOff = Dlg.m_CheckXRedOnOff;
+ myXBlueOnOff = Dlg.m_CheckXBlueOnOff != 0;
+ myXGreenOnOff = Dlg.m_CheckXGreenOnOff != 0;
+ myXRedOnOff = Dlg.m_CheckXRedOnOff != 0;
myY1OnOff = Dlg.Y1OnOff;
- myYBlueOnOff = Dlg.m_CheckYBlueOnOff;
- myYGreenOnOff = Dlg.m_CheckYGreenOnOff;
- myYRedOnOff = Dlg.m_CheckYRedOnOff;
+ myYBlueOnOff = Dlg.m_CheckYBlueOnOff != 0;
+ myYGreenOnOff = Dlg.m_CheckYGreenOnOff != 0;
+ myYRedOnOff = Dlg.m_CheckYRedOnOff != 0;
myZ1OnOff = Dlg.Z1OnOff;
- myZBlueOnOff = Dlg.m_CheckZBlueOnOff;
- myZGreenOnOff = Dlg.m_CheckZGreenOnOff;
- myZRedOnOff = Dlg.m_CheckZRedOnOff;
+ myZBlueOnOff = Dlg.m_CheckZBlueOnOff != 0;
+ myZGreenOnOff = Dlg.m_CheckZGreenOnOff != 0;
+ myZRedOnOff = Dlg.m_CheckZRedOnOff != 0;
// Adds a triangulation of the shape myShape to its topological data structure.
// This triangulation is computed with the deflection myDeflection.
void User_Cylinder::Compute(const Handle(Prs3d_Projector)& aProjector,
const Handle(Prs3d_Presentation)& aPresentation)
{
- myDrawer->EnableDrawHiddenLine();
+ Handle (Prs3d_Drawer) aDefDrawer = GetContext()->DefaultDrawer();
+ if (aDefDrawer->DrawHiddenLine())
+ myDrawer->EnableDrawHiddenLine();
+ else
+ myDrawer->DisableDrawHiddenLine();
StdPrs_HLRPolyShape::Add(aPresentation,myShape,myDrawer,aProjector);
}
return Standard_True;
}
-void User_Cylinder::SetPlanarFaceColor(const Quantity_Color acolor)
-{
- myPlanarFaceColor = acolor;
-}
-
-void User_Cylinder::SetCylindricalFaceColor(const Quantity_Color acolor)
-{
- myCylindricalFaceColor = acolor;
-}
-
Standard_Boolean User_Cylinder::TriangleIsValid(const gp_Pnt& P1, const gp_Pnt& P2, const gp_Pnt& P3) const
{
gp_Vec V1(P1,P2);// V1=(P1,P2)
void User_Cylinder::SetColor(const Quantity_Color &aColor)
{
AIS_InteractiveObject::SetColor(aColor);
- SetPlanarFaceColor(aColor);
- SetCylindricalFaceColor(aColor);
+ myColor = aColor;
}