pythonCascade Sample Problems

Viewer: 3D Viewer

 

 

        self.Initialize()

 

        B = BRepPrimAPI_MakeBox(gp_Pnt(-400.,-400.,-100.),200.,150.,100.)

        aBox = AIS_Shape(B.Shape())

        self.interactive_context.Display(aBox,1)

       

        self.view.FitAll(0.01,0)

        self.view.ZFitAll(0.01)

        self.view.Redraw()

 

           

 

    def OnColor(self,event):

        data = wxColourData()

        data.SetChooseFull(true)

        dlg = wxColourDialog(self,data)

        if dlg.ShowModal() == wxID_OK:

            data = dlg.GetColourData()

            color = data.GetColour().Get()

            CSFColor = Quantity_Color (color[0]/255.,color[1]/255.,color[2]/255.,Quantity_TOC_RGB)

 

           

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetColor(self.interactive_context.Current(),CSFColor.Name(),1);

              self.interactive_context.NextCurrent()

       

 

    def OnBrass(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_BRASS,1);

              self.interactive_context.NextCurrent()

 

    def OnBronze(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_BRONZE,1);

              self.interactive_context.NextCurrent()

 

    def OnCopper(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_COPPER,1);

              self.interactive_context.NextCurrent()

 

    def OnGold(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_GOLD,1);

              self.interactive_context.NextCurrent()

 

    def OnPewter(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_PEWTER,1);

              self.interactive_context.NextCurrent()

 

    def OnPlaster(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_PLASTER,1);

              self.interactive_context.NextCurrent()

 

    def OnPlastic(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_PLASTIC,1);

              self.interactive_context.NextCurrent()

 

    def OnSilver(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_SILVER,1);

              self.interactive_context.NextCurrent()

 

    def OnSteel(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_STEEL,1);

              self.interactive_context.NextCurrent()

 

    def OnStone(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_STONE,1);

              self.interactive_context.NextCurrent()

 

    def OnShinyPlastic(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_SHINY_PLASTIC,1);

              self.interactive_context.NextCurrent()

 

    def OnSatin(self,event):

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetMaterial(self.interactive_context.Current(),Graphic3d_NOM_SATIN,1);

              self.interactive_context.NextCurrent()

 

    def OnTransparency(self,event):

        wintransp = wxDialog(self.parent,-1,"Transparency",wxPoint(30,50),wxSize(340,230))

        wxButton(wintransp,wxID_OK," OK ",wxPoint(50,120),wxDefaultSize)

        wxButton(wintransp,wxID_CANCEL,"CANCEL",wxPoint(150,120),wxDefaultSize)

        self.txt = wxTextCtrl(wintransp,-1,"0",wxPoint(55,50),wxSize(60,-1))

        h = self.txt.GetSize().height

        sc = wxSpinButton(wintransp,120,wxPoint(115,50),wxSize(h,h),wxSP_VERTICAL)

        sc.SetRange(0,10)

        sc.SetValue(0)

        EVT_SPIN(wintransp,120,self.OnSpinTransparency)

       

        val = wintransp.ShowModal()

 

    def OnSpinTransparency(self,event):

        self.txt.SetValue(str(event.GetPosition()))

        self.interactive_context.InitCurrent()

        while self.interactive_context.MoreCurrent():

              self.interactive_context.SetTransparency(self.interactive_context.Current(),event.GetPosition()/10.0,1);

              self.interactive_context.NextCurrent()