public CsgjsSphereBrush(CsgjsScript csgjsScript) : base(csgjsScript)
 {
     Surfaces = new[]
     {
         new CsgjsBrushSurface("Sphere", csgjsScript)
     };
 }
 public CsgjsCylinderBrush(CsgjsScript csgjsScript) : base(csgjsScript)
 {
     Surfaces = new[]
     {
         new CsgjsBrushSurface("Top", csgjsScript),
         new CsgjsBrushSurface("Side", csgjsScript),
         new CsgjsBrushSurface("Bottom", csgjsScript)
     };
 }
 public CsgjsCubeBrush(CsgjsScript csgjsScript) : base(csgjsScript)
 {
     Surfaces = new[]
     {
         new CsgjsBrushSurface("Top", csgjsScript),
         new CsgjsBrushSurface("Bottom", csgjsScript),
         new CsgjsBrushSurface("Left", csgjsScript),
         new CsgjsBrushSurface("Right", csgjsScript),
         new CsgjsBrushSurface("Front", csgjsScript),
         new CsgjsBrushSurface("Back", csgjsScript)
     };
 }
        public bool Raycast(ref Ray mouseRay, out float distance, out CsgjsScript script)
        {
            Csgjs csgNode;

            if (IsRoot)
            {
                csgNode = _combinedCsg;
            }
            else if (IsModel)
            {
                csgNode = Brush.GetCsg();
            }
            else
            {
                throw new NotSupportedException();
            }

            script   = null;
            distance = float.PositiveInfinity;
            for (int i = 0; i < csgNode.Polygons.Count; i++)
            {
                if (csgNode.Polygons[i].Intersects(ref mouseRay, out float intersectionDistance) && intersectionDistance <= distance)
Exemplo n.º 5
0
 public CsgjsBrush(CsgjsScript csgjsScript)
 {
     CsgjsScript = csgjsScript;
 }
Exemplo n.º 6
0
 public CsgjsBrushSurface(string name, CsgjsScript script)
 {
     Name   = name;
     Script = script;
 }