def create_material(diffuse_color, ambient_color=None, specular_color=None): """Create a material with the provided colors""" material = QgsPhongMaterialSettings() material.setDiffuse(diffuse_color) if ambient_color is not None: material.setAmbient(ambient_color) if specular_color is not None: material.setSpecular(specular_color) return material
def SetDefaultFootprint3DStyle(layer): """ Platform 3D Symbol """ material = QgsPhongMaterialSettings() material.setDiffuse(QColor(255, 0, 0)) material.setAmbient(QColor(255, 0, 0)) symbol = QgsPolygon3DSymbol() symbol.setAltitudeClamping(2) symbol.setMaterial(material) renderer = QgsVectorLayer3DRenderer() renderer.setLayer(layer) renderer.setSymbol(symbol) layer.setRenderer3D(renderer)
def SetDefaultFrameAxis3DStyle(layer): """ Frame Axis 3D Symbol """ material = QgsPhongMaterialSettings() material.setDiffuse(QColor(0, 0, 255)) material.setAmbient(QColor(0, 0, 255)) symbol = QgsLine3DSymbol() symbol.setWidth(5) symbol.setAltitudeClamping(2) symbol.setMaterial(material) renderer = QgsVectorLayer3DRenderer() renderer.setLayer(layer) renderer.setSymbol(symbol) layer.setRenderer3D(renderer)
def SetDefaultBeams3DStyle(layer): ''' Beams 3D Symbol ''' material = QgsPhongMaterialSettings() material.setDiffuse(QColor(255, 255, 255)) material.setAmbient(QColor(255, 255, 255)) symbol = QgsLine3DSymbol() symbol.setWidth(5) symbol.setAltitudeClamping(2) symbol.setMaterial(material) renderer = QgsVectorLayer3DRenderer() renderer.setLayer(layer) renderer.setSymbol(symbol) layer.setRenderer3D(renderer) return
def SetDefaultPlatform3DStyle(layer): """ Platform 3D Symbol """ material = QgsPhongMaterialSettings() material.setDiffuse(QColor(255, 0, 0)) material.setAmbient(QColor(255, 0, 0)) symbol = QgsPoint3DSymbol() symbol.setShape(1) S = {} S["radius"] = 20 symbol.setShapeProperties(S) symbol.setAltitudeClamping(2) symbol.setMaterial(material) renderer = QgsVectorLayer3DRenderer() renderer.setLayer(layer) renderer.setSymbol(symbol) layer.setRenderer3D(renderer)
def SetDefaultFrameCenter3DStyle(layer): ''' Frame Center 3D Symbol ''' material = QgsPhongMaterialSettings() material.setDiffuse(QColor(255, 255, 255)) material.setAmbient(QColor(255, 255, 255)) symbol = QgsPoint3DSymbol() symbol.setShape(1) S = {} S['radius'] = 20 symbol.setShapeProperties(S) symbol.setAltitudeClamping(2) symbol.setMaterial(material) renderer = QgsVectorLayer3DRenderer() renderer.setLayer(layer) renderer.setSymbol(symbol) layer.setRenderer3D(renderer)