// prepare material to disable scene lights
Graphic3d_MaterialAspect material(Graphic3d_NameOfMaterial_DEFAULT);
material.SetMaterialType (Graphic3d_MATERIAL_ASPECT);
material.SetSpecularColor(Quantity_NOC_BLACK);
material.SetAmbientColor(Quantity_NOC_BLACK);
material.SetDiffuseColor(Quantity_NOC_BLACK);
material.SetEmissiveColor(Quantity_NOC_BLACK);
material.SetShininess(0);
// change color and switch off ligthning on the box sides
vc->Attributes()->ShadingAspect()->SetColor (Quantity_NOC_WHITE);
vc->Attributes()->ShadingAspect()->SetMaterial (material);
vc->BoxCornerStyle()->SetColor (Quantity_Color(150. / 255., 150. / 255., 150. /255., Quantity_TOC_sRGB));
vc->BoxCornerStyle()->SetMaterial (material);
vc->BoxEdgeStyle()->SetColor (Quantity_Color(200. / 255., 200. / 255., 200. /255., Quantity_TOC_sRGB));
vc->BoxEdgeStyle()->SetMaterial (material);
// show edges on border
vc->Attributes()->SetFaceBoundaryDraw(true);
vc->Attributes()->SetupOwnFaceBoundaryAspect();
vc->Attributes()->FaceBoundaryAspect()->SetColor(Quantity_NOC_BLACK);
vc->Attributes()->FaceBoundaryAspect()->SetWidth(0.5);
// manage axes
vc->Attributes()->SetOwnDatumAspects();
vc->Attributes()->DatumAspect()->SetToDrawLabels(Standard_False);
for (Standard_Integer anAxisIter = Prs3d_DatumParts_XAxis; anAxisIter <= Prs3d_DatumParts_ZAxis; ++anAxisIter)
{
const Prs3d_DatumParts part = (Prs3d_DatumParts )anAxisIter;
vc->Attributes()->DatumAspect()->ShadingAspect(part)->SetMaterial (material);
vc->Attributes()->DatumAspect()->ShadingAspect(part)->SetColor(
Quantity_Color(200. / 255., 200. / 255., 200. /255., Quantity_TOC_sRGB));
}
// hide arrows and sphere for axes of trihedron
vc->SetAxesConeRadius(0.);
vc->SetAxesSphereRadius(1.);
vc->SetAxesRadius(0.6);
vc->SetSize(60);
vc->SetAxesPadding(15);
// text height should be after SetSize because it scales this height
vc->Attributes()->TextAspect()->SetHeight (12);
vc->Attributes()->TextAspect()->SetFont (Font_NOF_ASCII_DUPLEX);