private IGraphicsObject CreateCuboid(IMifAtlas atlas, OpenTK.Color color) { var figureType = FigureType.Cuboid; var shapeData = _calculler.Calculate(atlas.X, atlas.Y, atlas.Z, false, 1, 1, 1, XyzConstrainsModifier.Norm); return(_factory.Create(figureType, shapeData.Item1, shapeData.Item2, shapeData.Item3, shapeData.Item4, color)); }
public SegReta(string rotulo, Ponto4D ponto, Ponto4D ponto2, Color cor, float primitivaTamanho, int angulo = 0) : base(rotulo, cor, primitivaTamanho) { matematica = new Matematica(); base.PontosAdicionar(ponto); base.PontosAdicionar(ponto2); this._angulo = angulo; this._raio = 100; }
public SegReta(string rotulo, Ponto4D ponto, Color cor, float primitivaTamanho, int angulo = 0) : base(rotulo, cor, primitivaTamanho) { this.ponto = ponto; this._angulo = angulo; this._raio = 100; matematica = new Matematica(); ponto2 = matematica.GerarPtosCirculo(angulo, _raio, ponto); base.PontosAdicionar(ponto); base.PontosAdicionar(ponto2); }
public Circulo(string rotulo, double raio, Color cor, List <double> angulos, int quantidadePontos = 72, int deslocamentoX = 0, int deslocamentoY = 0, int primitivaTamanho = 4, int angulo = 5) : base(rotulo, cor, primitivaTamanho, PrimitiveType.Points) { _raio = raio; _deslocamentoX = deslocamentoX; _deslocamentoY = deslocamentoY; _quantidadePontos = quantidadePontos; _angulo = angulo; _angulosDesejados = angulos; GerarCirculo(); }
public IGraphicsObject CreateGraphic(IMifAtlas atlas, IColor color) { OpenTK.Color colorOpenTk = GetColor(color); switch (atlas.GetType()) { case Type T when T == typeof(BoxAtlas): return(CreateCuboid(atlas, colorOpenTk)); case Type T when T == typeof(ScriptAtlas): return(CreateCylinder(atlas, colorOpenTk)); default: throw new NotSupportedException("Atlas Type: " + atlas.GetType() + " is not supported"); } }
public ColorDictionary() { foreach (FigureColor color in Enum.GetValues(typeof(FigureColor))) { if (color != FigureColor.Custom) { OpenTK.Color ColorTk = new OpenTK.Color(); PropertyInfo OpenTkColorProperty = typeof(OpenTK.Color).GetProperty(color.ToString(), typeof(OpenTK.Color)); ColorTk = (OpenTK.Color)OpenTkColorProperty.GetValue(null); _colorDictionary.Add(color, ColorTk); } } }
/// <summary> /// Cria um círculo na cena /// </summary> /// <param name="raio">Raio</param> /// <param name="cor">Cor dos pontos do círculo</param> /// <param name="deslocamentoX">Caso necessário deslocar no eixo X utilziar um inteiro</param> /// <param name="deslocamentoY">Caso necessário deslocar no eixo Y utilziar um inteiro</param> /// <param name="primitivaTamanho">Tamanho dos pontos</param> public Circulo(string rotulo, double raio, Color cor, int quantidadePontos = 72, int deslocamentoX = 0, int deslocamentoY = 0, int primitivaTamanho = 4, int angulo = 5) : base(rotulo, cor, primitivaTamanho, PrimitiveType.Points) { _raio = raio; _deslocamentoX = deslocamentoX; _deslocamentoY = deslocamentoY; _quantidadePontos = quantidadePontos; _angulo = angulo; pontoQuadrado1 = new Ponto4D(deslocamentoX, deslocamentoY - 3); pontoQuadrado2 = new Ponto4D(deslocamentoX, deslocamentoY + 3); segReta = new SegReta("Q", pontoQuadrado1, pontoQuadrado2, Color.Blue, 3); pontoQuadrado1 = new Ponto4D(deslocamentoX, deslocamentoY - 3); pontoQuadrado2 = new Ponto4D(deslocamentoX, deslocamentoY + 3); segReta = new SegReta("Q", pontoQuadrado1, pontoQuadrado2, Color.Blue, 3); GerarCirculo(); }
private IGraphicsObject CreateCylinder(IMifAtlas atlas, OpenTK.Color color) { var scriptAtlas = (ScriptAtlas)atlas; if (scriptAtlas.Script == null) { throw new FormatException("ScriptAtlas " + atlas.Name + " doesn't have script."); } var tuple = _calculler.Calculate(atlas.X, atlas.Y, atlas.Z, true); if (!(scriptAtlas.Script.Name.Contains("Ellipse"))) { throw new FormatException("Unknown script " + scriptAtlas.Script.Name + " is in Oxs_ScriptAtlas " + scriptAtlas.Name + ". Only EllipseX, EllipseY, EllipseZ are supported"); } return(_factory.Create(FigureType.Cylinder, tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4, color)); }
public ObjetoAramado(string rotulo) : base(rotulo) { Cor = Color.White; }
public ObjetoAramado(string rotulo) : base(rotulo) { Cor = Color.Black; }
public ObjetoAramado(string rotulo, Color cor, float primitivaTamanho, PrimitiveType primitivaTipo) : base(rotulo) { this.Cor = cor; base.PrimitivaTipo = primitivaTipo; base.PrimitivaTamanho = primitivaTamanho; }
public CoreColor(OpenTK.Color color) { R = color.R; G = color.G; B = color.B; }
public IGraphicsObject Create(FigureType type, Point firstPoint, Point lastPoint, double d1, double d2, OpenTK.Color color) { switch (type) { case FigureType.Cuboid: return(CreateCuboid(firstPoint, lastPoint, d1, d2, color)); case FigureType.Cylinder: return(CreateCylinder(firstPoint, lastPoint, d1, d2, color)); case FigureType.Arrow: return(CreateArrow(firstPoint, lastPoint, d1, color)); case FigureType.DoubleArrow: return(CreateDoubleArrow(firstPoint, lastPoint, d1, color)); case FigureType.Tetrahedron: return(new Tetrahedron(firstPoint, lastPoint, color, d1)); default: throw new Exception("Chosen ShapeType do not exist"); } }
Tetrahedron CreateTetrahedron(Point firstPoint, Point lastPoint, double d1, OpenTK.Color color) => new Tetrahedron(firstPoint, lastPoint, color, d1);
DoubleArrow CreateDoubleArrow(Point firstPoint, Point lastPoint, double d1, OpenTK.Color color) => new DoubleArrow(firstPoint, lastPoint, color);
Cylinder CreateCylinder(Point firstPoint, Point lastPoint, double d1, double d2, OpenTK.Color color) => new Cylinder(firstPoint, lastPoint, d1, color);
Cube CreateCuboid(Point firstPoint, Point lastPoint, double d1, double d2, OpenTK.Color color) => new Cube(firstPoint, lastPoint, d1, d2, color);