Example #1
0
    protected override void SolveInstance(IGH_DataAccess DA)
    {
        var    meshes = new List <Mesh>();
        string file   = string.Empty;

        DA.GetDataList(0, meshes);
        DA.GetData(1, ref file);

        var outMeshes = RenderExtensions.BitmapFromSolidColoredMeshes(meshes, file);

        var joinedMesh = new Mesh();

        foreach (var mesh in outMeshes)
        {
            joinedMesh.Append(mesh);
        }

        var material = new DisplayMaterial();

        material.SetBitmapTexture(file, true);

        var display = new DisplayGeometry(joinedMesh, material);

        DA.SetData(0, new GH_DisplayGeometry(display));
    }
Example #2
0
    protected override void SolveInstance(IGH_DataAccess DA)
    {
        Mesh   mesh = new Mesh();
        string file = string.Empty;

        DA.GetData(0, ref mesh);
        DA.GetData(1, ref file);

        Mesh outMesh  = RenderExtensions.BitmapFromVertexColors(mesh, file);
        var  material = new DisplayMaterial();

        material.SetBitmapTexture(file, true);

        var display = new DisplayGeometry(outMesh, material);

        DA.SetData(0, new GH_DisplayGeometry(display));
    }
Example #3
0
    protected override void SolveInstance(IGH_DataAccess DA)
    {
        IGH_GeometricGoo geometry = null;
        DisplayMaterial  material = null;
        string           layer    = "";

        if (!DA.GetData(0, ref geometry))
        {
            return;
        }
        DA.GetData(1, ref material);
        DA.GetData(2, ref layer);

        var target = GH_Convert.ToGeometryBase(geometry);

        var displayStyle = new DisplayGeometry(target, material, layer);

        DA.SetData(0, new GH_DisplayGeometry(displayStyle));
    }
Example #4
0
        private void CreateLedGeometry()
        {
            switch (Led.RgbLed.Shape)
            {
            case Shape.Custom:
                if (Led.RgbLed.Device.DeviceInfo.DeviceType == RGBDeviceType.Keyboard || Led.RgbLed.Device.DeviceInfo.DeviceType == RGBDeviceType.Keypad)
                {
                    CreateCustomGeometry(2.0);
                }
                else
                {
                    CreateCustomGeometry(1.0);
                }
                break;

            case Shape.Rectangle:
                if (Led.RgbLed.Device.DeviceInfo.DeviceType == RGBDeviceType.Keyboard || Led.RgbLed.Device.DeviceInfo.DeviceType == RGBDeviceType.Keypad)
                {
                    CreateKeyCapGeometry();
                }
                else
                {
                    CreateRectangleGeometry();
                }
                break;

            case Shape.Circle:
                CreateCircleGeometry();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            // Stroke geometry is the display geometry excluding the inner geometry
            StrokeGeometry = DisplayGeometry.GetWidenedPathGeometry(new Pen(null, 1.0), 0.1, ToleranceType.Absolute);
            DisplayGeometry.Freeze();
            StrokeGeometry.Freeze();
        }
Example #5
0
 public void CommitChanges()
 {
     isCommiting     = true;
     geoPathGeometry = DisplayGeometry.Clone();
     for (int f = 0; f < DisplayGeometry.Figures.Count; f++)
     {
         PathFigure figureGeo     = geoPathGeometry.Figures[f];
         PathFigure figureDisplay = DisplayGeometry.Figures[f];
         figureGeo.StartPoint = FromCanvasMercatorToLatLng(figureDisplay.StartPoint);
         PathSegmentCollection segmentsGeo     = figureGeo.Segments;
         PathSegmentCollection segmentsDisplay = figureDisplay.Segments;
         for (int s = 0; s < segmentsDisplay.Count; s++)
         {
             PointCollection pointsGeo     = (segmentsGeo[s] as PolyLineSegment).Points;
             PointCollection pointsDisplay = (segmentsDisplay[s] as PolyLineSegment).Points;
             for (int p = 0; p < pointsDisplay.Count; p++)
             {
                 pointsGeo[p] = FromCanvasMercatorToLatLng(pointsDisplay[p]);
             }
         }
     }
     Geometry    = geometryReader.Read(geoPathGeometry);
     isCommiting = false;
 }