示例#1
0
 def add_color(geomerty):
     waterNode = agxOSG.createVisual(geomerty, demoutils.root())
     color = agxRender.Color.DeepSkyBlue()
     alpha = 0.4
     agxOSG.setDiffuseColor(waterNode, color)
     agxOSG.setAmbientColor(waterNode, agx.Vec4f(1))
     agxOSG.setShininess(waterNode, 120)
     agxOSG.setAlpha(waterNode, alpha)
示例#2
0
def create_water_visual(geo, root):
    node = agxOSG.createVisual(geo, root)

    diffuse_color = agxRender.Color(0.0, 0.75, 1.0, 1)
    ambient_color = agxRender.Color(1, 1, 1, 1)
    specular_color = agxRender.Color(1, 1, 1, 1)
    agxOSG.setDiffuseColor(node, diffuse_color)
    agxOSG.setAmbientColor(node, ambient_color)
    agxOSG.setSpecularColor(node, specular_color)
    agxOSG.setShininess(node, 120)
    agxOSG.setAlpha(node, 0.5)
    return node
示例#3
0
def create_visual(obj, diffuse_color: Color = None, ambient_color: Color = None,
                  shininess=None, alpha: float = None):
    node = agxOSG.createVisual(obj, root())

    if diffuse_color is not None:
        agxOSG.setDiffuseColor(node, diffuse_color)

    if ambient_color is not None:
        agxOSG.setAmbientColor(node, ambient_color)

    if shininess is not None:
        agxOSG.setShininess(node, shininess)

    if alpha is not None:
        agxOSG.setAlpha(node, alpha)

    return node
示例#4
0
    def _add_rendering(self, mode='osg'):
        # Set renderer
        self.app.setAutoStepping(True)
        self.app.setEnableDebugRenderer(False)
        self.app.setEnableOSGRenderer(True)

        # Create scene graph for rendering
        root = self.app.getSceneRoot()
        rbs = self.sim.getRigidBodies()
        for rb in rbs:
            node = agxOSG.createVisual(rb, root)
            if rb.getName() == "ground":
                agxOSG.setDiffuseColor(node,
                                       agxRender.Color(0.8, 0.8, 0.8, 1.0))
            elif rb.getName() == "walls":
                agxOSG.setDiffuseColor(node, agxRender.Color.Burlywood())
            elif rb.getName() == "cylinder":
                agxOSG.setDiffuseColor(node, agxRender.Color.DarkGray())
            elif rb.getName() == "cylinder_inner":
                agxOSG.setDiffuseColor(node, agxRender.Color.LightSteelBlue())
            elif rb.getName() == "gripper_0" or rb.getName() == "gripper_1":
                agxOSG.setDiffuseColor(node,
                                       agxRender.Color(0.1, 0.1, 0.1, 1.0))
            elif "dlo" in rb.getName():  # Cable segments
                agxOSG.setDiffuseColor(node,
                                       agxRender.Color(0.1, 0.5, 0.0, 1.0))
                agxOSG.setAmbientColor(node,
                                       agxRender.Color(0.2, 0.5, 0.0, 1.0))
            elif rb.getName() == "obstacle":
                agxOSG.setDiffuseColor(node,
                                       agxRender.Color(0.5, 0.5, 0.5, 1.0))
            elif rb.getName() == "obstacle_goal":
                agxOSG.setDiffuseColor(node,
                                       agxRender.Color(0.0, 0.0, 1.0, 1.0))
            else:
                agxOSG.setDiffuseColor(node, agxRender.Color.Beige())
                agxOSG.setAlpha(node, 0.0)

        # Set rendering options
        scene_decorator = self.app.getSceneDecorator()
        scene_decorator.setEnableLogo(False)
        scene_decorator.setBackgroundColor(agxRender.Color(1.0, 1.0, 1.0, 1.0))
示例#5
0
    def __init__(self, ground: agxCollide.Geometry, rov, depth):
        """

        Args:
            ground:
            rov:
            depth:
        """
        super().__init__()
        self.setMask(ContactEventListener.CONTACT)
        b = agxCollide.Box(.1, .1, depth)
        self.beam = Geometry(b)
        # print(self.beam.getShapes(),self.beam)
        self.beam.setPosition(0, 0, -depth)
        self.beam.setSensor(True)
        self.setFilter(GeometryFilter(self.beam, ground))
        color = agxRender.Color.IndianRed()
        node = agxOSG.createVisual(self.beam, demoutils.root())
        agxOSG.setDiffuseColor(node, color)
        agxOSG.setAmbientColor(node, agx.Vec4f(1))
        agxOSG.setShininess(node, 120)
        agxOSG.setAlpha(node, 0.6)
        self.ground = ground.getShape().asHeightField()