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)
public CsgjsBrush(CsgjsScript csgjsScript) { CsgjsScript = csgjsScript; }
public CsgjsBrushSurface(string name, CsgjsScript script) { Name = name; Script = script; }