1 // File: QAOCC_OCC749Prs.cxx
2 // Created: Fri Sep 20 16:33:40 2002
3 // Author: Michael KUZMITCHEV
7 #include <QAOCC_OCC749Prs.ixx>
9 #include <Prs3d_Root.hxx>
10 #include <Graphic3d_Group.hxx>
11 #include <Graphic3d_Vertex.hxx>
12 #include <Aspect_Array1OfEdge.hxx>
13 #include <Graphic3d_AspectFillArea3d.hxx>
14 #include <Graphic3d_MaterialAspect.hxx>
15 #include <Quantity_Color.hxx>
16 #include <Graphic3d_Array1OfVertexC.hxx>
17 #include <Aspect_Edge.hxx>
19 QAOCC_OCC749Prs::QAOCC_OCC749Prs( const Standard_Boolean reflection,
20 const Quantity_Color& color,
21 const Quantity_Color& color1 ) :
22 myReflection( reflection ), myColor1( color ), myColor2( color1 )
26 void QAOCC_OCC749Prs::Compute(const Handle(PrsMgr_PresentationManager3d)& aPrsMgr,
27 const Handle(Prs3d_Presentation)& aPrs,
28 const Standard_Integer aMode )
31 Handle(Graphic3d_Group) group = Prs3d_Root::NewGroup( aPrs );
33 Handle_Graphic3d_AspectFillArea3d CTX=new Graphic3d_AspectFillArea3d();
34 CTX->SetInteriorStyle(Aspect_IS_SOLID);
35 group->SetGroupPrimitivesAspect(CTX);
37 Graphic3d_MaterialAspect material = CTX->FrontMaterial();
38 if ( !myReflection ) {
39 material.SetReflectionModeOff(Graphic3d_TOR_AMBIENT);
40 material.SetReflectionModeOff(Graphic3d_TOR_DIFFUSE);
41 material.SetReflectionModeOff(Graphic3d_TOR_SPECULAR);
42 material.SetReflectionModeOff(Graphic3d_TOR_EMISSION);
44 CTX->SetFrontMaterial(material);
45 group->SetPrimitivesAspect(CTX);
47 Graphic3d_Array1OfVertexC anArray( 1,4 );
48 anArray(1).SetCoord( 0.,0.,0 );
49 anArray(1).SetColor( myColor1 );
50 anArray(2).SetCoord( 50., 0., 0 );
51 anArray(2).SetColor( myColor1 );
52 anArray(3).SetCoord( 50., 50, 0 );
53 anArray(3).SetColor( myColor2 );
54 anArray(4).SetCoord( 0., 50., 0 );
55 anArray(4).SetColor( myColor2 );
56 Aspect_Edge aE1(1,2,Aspect_TOE_VISIBLE);
57 Aspect_Edge aE2(2,3,Aspect_TOE_VISIBLE);
58 Aspect_Edge aE3(3,4,Aspect_TOE_VISIBLE);
59 Aspect_Edge aE4(4,1,Aspect_TOE_VISIBLE);
60 Aspect_Array1OfEdge anEdges(1,4);
61 anEdges.SetValue(1,aE1);
62 anEdges.SetValue(2,aE2);
63 anEdges.SetValue(3,aE3);
64 anEdges.SetValue(4,aE4);
65 group->QuadrangleSet(anArray,anEdges);
68 void QAOCC_OCC749Prs::ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,
69 const Standard_Integer aMode)
73 void QAOCC_OCC749Prs::SetReflection( const Standard_Boolean reflection )
75 myReflection = reflection;
78 void QAOCC_OCC749Prs::SetColor( const Quantity_Color& color,
79 const Quantity_Color& color1 )