コード例 #1
0
 public override void WriteAsClearText(IClearTextWriter writer)
 {
     if (Value == Mode.ABSTRACT)
     {
         writer.WriteLine($"  scalemode abstract;");
     }
     else
     {
         writer.WriteLine($"  scalemode metric, {WriteDouble(MetricScalingFactor)};");
     }
 }
コード例 #2
0
ファイル: VDCType.cs プロジェクト: twenzel/CGM
 public override void WriteAsClearText(IClearTextWriter writer)
 {
     if (Value == Type.Integer)
     {
         writer.Info("Writing vdctype = real instead of integer (as read by the binary file) because of some problems using integer. If the CGM file could not be opened in any viewer please edit file and change vdctype.");
         writer.WriteLine($" vdctype {WriteEnum(Type.Real)};");
     }
     else
     {
         writer.WriteLine($" vdctype {WriteEnum(Value)};");
     }
 }
コード例 #3
0
 public override void WriteAsClearText(IClearTextWriter writer)
 {
     writer.Write("  ARCCTRCLOSE ");
     WriteValues(writer);
     writer.Write($" {WriteEnum(Type)}");
     writer.WriteLine(";");
 }
コード例 #4
0
ファイル: PatternTable.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" PATTABLE {WriteIndex(Index)} {WriteInt(Nx)} {WriteInt(Ny)}");

            if (LocalColorPrecision == 0)
            {
                if (_container.ColourSelectionMode == ColourSelectionMode.Type.INDEXED)
                {
                    writer.Write(ColourIndexPrecision.WriteValue(_container.ColourIndexPrecision));
                }
                else
                {
                    writer.Write(ColourPrecision.WritValue(_container.ColourPrecision));
                }
            }
            else
            {
                writer.Write(WriteInt(LocalColorPrecision));
            }

            foreach (var color in Colors)
            {
                writer.Write($" {WriteColor(color)}");
            }

            writer.WriteLine(";");
        }
コード例 #5
0
ファイル: Tile.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" TILE");
            writer.Write($" {WriteInt((int)CompressionType)}");
            writer.Write($" {WriteInt(RowPaddingIndicator)}");

            if (CellColorPrecision == 0)
            {
                if (_container.ColourSelectionMode == ColourSelectionMode.Type.INDEXED)
                {
                    writer.Write(ColourIndexPrecision.WriteValue(_container.ColourIndexPrecision));
                }
                else
                {
                    writer.Write(ColourPrecision.WritValue(_container.ColourPrecision));
                }
            }
            else
            {
                writer.Write(WriteInt(CellColorPrecision));
            }


            WriteSDR(writer, DataRecord);
            if (Image != null)
            {
                writer.Write($" {WriteBitStream(Image.ToArray())}");
            }

            writer.WriteLine(";");
        }
コード例 #6
0
ファイル: CellArray.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($"  CELLARRAY {WritePoint(P)} {WritePoint(Q)} {WritePoint(R)}, {WriteInt(Nx)}, {WriteInt(Ny)}, ");

            if (LocalColorPrecision == 0)
            {
                if (_container.ColourSelectionMode == ColourSelectionMode.Type.INDEXED)
                {
                    writer.Write(ColourIndexPrecision.WriteValue(_container.ColourIndexPrecision));
                }
                else
                {
                    writer.Write(ColourPrecision.WritValue(_container.ColourPrecision));
                }
            }
            else
            {
                writer.Write(WriteInt(LocalColorPrecision));
            }

            for (var i = 0; i < Colors.Length; i++)
            {
                writer.Write($" {WriteColor(Colors[i])}");
                if (i < Colors.Length - 1)
                {
                    writer.Write(" ");
                }
            }

            writer.WriteLine(";");
        }
コード例 #7
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write(" TEXTSCORETYPE");
            foreach (var info in Infos)
            {
                writer.Write($" {WriteIndex(info.Type)} {WriteBool(info.Indicator)}");
            }

            writer.WriteLine(";");
        }
コード例 #8
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" POLYGONSET");

            foreach (var pair in Set)
            {
                writer.Write($" {WritePoint(pair.Value)} {WriteEnum(pair.Key)}");
            }

            writer.WriteLine(";");
        }
コード例 #9
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write(" ASF");

            foreach (var info in Infos)
            {
                writer.Write($" {WriteEnum(info.Type)} {WriteEnum(info.Value)}");
            }

            writer.WriteLine(";");
        }
コード例 #10
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write("  LINE");

            foreach (var points in Points)
            {
                writer.Write($" {WritePoint(points)}");
            }

            writer.WriteLine(";");
        }
コード例 #11
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" APSDIR {WriteEnum(TypeSelector)}");

            foreach (var info in Infos)
            {
                writer.Write($" {WriteString(info.Identifier)} {WriteInt(info.Location)}");
            }

            writer.WriteLine(";");
        }
コード例 #12
0
ファイル: PolyMarker.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" MARKER");

            foreach (var p in Points)
            {
                writer.Write($" {WritePoint(p)}");
            }

            writer.WriteLine(";");
        }
コード例 #13
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" SYMBOL {WriteIndex(Index)}");

            foreach (var p in Points)
            {
                writer.Write($" {WritePoint(p)}");
            }

            writer.WriteLine(";");
        }
コード例 #14
0
 public override void WriteAsClearText(IClearTextWriter writer)
 {
     if (Value == Precision.Floating_32)
     {
         writer.WriteLine($" realprec -511.0000, 511.0000, 7 % 10 binary bits %;");
     }
     else
     {
         throw new NotSupportedException($"Real Precision {Value} is currently not supported.");
     }
 }
コード例 #15
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write(" DISJTLINE");

            foreach (var pair in Lines)
            {
                writer.Write($" {WritePoint(pair.Key)} {WritePoint(pair.Value)}");
            }

            writer.WriteLine(";");
        }
コード例 #16
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" GDP {WriteInt(Identifier)}");

            foreach (var p in Points)
            {
                writer.Write($" {WritePoint(p)}");
            }

            writer.WriteLine($" {WriteString(DataRecord)};");
        }
コード例 #17
0
ファイル: SymbolLibraryList.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write(" SYMBOLLIBLIST");

            foreach (var s in Names)
            {
                writer.Write(" " + WriteString(s));
            }

            writer.WriteLine(";");
        }
コード例 #18
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" LINEEDGETYPEDEF {WriteInt(LineType)} {WriteVDC(DashCycleRepeatLength)}");

            foreach (var val in DashElements)
            {
                writer.Write($" {WriteInt(val)}");
            }

            writer.WriteLine(";");
        }
コード例 #19
0
ファイル: FontProperties.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write(" FONTPROP");

            foreach (var info in Infos)
            {
                writer.Write($" {WriteIndex(info.PropertyIndicator)} {WriteInt(info.Priority)}");

                WriteSDR(writer, info.Value);
            }

            writer.WriteLine(";");
        }
コード例 #20
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            switch (Value)
            {
            case Type.BASIC_7_BIT:
                writer.WriteLine($" charcoding BASIC7BIT;");
                break;

            case Type.BASIC_8_BIT:
                writer.WriteLine($" charcoding BASIC8BIT;");
                break;

            case Type.EXTENDED_7_BIT:
                writer.WriteLine($" charcoding EXTD7BIT;");
                break;

            case Type.EXTENDED_8_BIT:
                writer.WriteLine($" charcoding EXTD8BIT;");
                break;

            default:
                throw new NotSupportedException($"CharacterCoding {Value} not supported.");
            }
        }
コード例 #21
0
ファイル: BeginTileArray.cs プロジェクト: twenzel/CGM
 public override void WriteAsClearText(IClearTextWriter writer)
 {
     writer.Write($" BEGTILEARRAY {WritePoint(Position)} {GetDirection(CellPathDirection)}");
     writer.Write($" {GetLineDirection(LineProgressionDirection)}");
     writer.Write($" {WriteInt(NumberTilesInPathDirection)}");
     writer.Write($" {WriteInt(NumberTilesInLineDirection)}");
     writer.Write($" {WriteInt(NumberCellsPerTileInPathDirection)}");
     writer.Write($" {WriteInt(NumberCellsPerTileInLineDirection)}");
     writer.Write($" {WriteReal(CellSizeInPathDirection)}");
     writer.Write($" {WriteReal(CellSizeInLineDirection)}");
     writer.Write($" {WriteInt(ImageOffsetInPathDirection)}");
     writer.Write($" {WriteInt(ImageOffsetInLineDirection)}");
     writer.Write($" {WriteInt(NumberCellsInPathDirection)}");
     writer.Write($" {WriteInt(NumberCellsInLineDirection)}");
     writer.WriteLine(";");
 }
コード例 #22
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" NUB {WriteInt(SplineOrder)} {WriteInt(Points.Count)}");

            foreach (var val in Points)
            {
                writer.Write($" {WritePoint(val)}");
            }

            foreach (var val in Knots)
            {
                writer.Write($" {WriteReal(val)}");
            }

            writer.WriteLine($" {WriteReal(StartValue)} {WriteReal(EndValue)};");
        }
コード例 #23
0
ファイル: Text.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" TEXT {WritePoint(Position)}");

            if (Final)
            {
                writer.Write($" final");
            }
            else
            {
                writer.Write($" notfinal");
            }

            writer.Write($" {WriteString(Text)}");

            writer.WriteLine(";");
        }
コード例 #24
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" BITONALTILE");
            writer.Write($" {WriteInt((int)CompressionType)}");
            writer.Write($" {WriteInt(RowPaddingIndicator)}");

            writer.Write($" {WriteColor(Backgroundcolor)}");
            writer.Write($" {WriteColor(Foregroundcolor)}");

            WriteSDR(writer, DataRecord);
            if (Image != null)
            {
                writer.Write($" {WriteBitStream(Image.ToArray())}");
            }

            writer.WriteLine(";");
        }
コード例 #25
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" POLYBEZIER {WriteInt(ContinuityIndicator)}");

            //for (int i = 0; i < P1.Length; i++)
            //{
            //    writer.Write($" {WritePoint(P1[i])} {WritePoint(P2[i])} {WritePoint(P3[i])} {WritePoint(P4[i])}");
            //}

            foreach (var curve in Curves)
            {
                var line = string.Join("", curve.Select(p => $" {WritePoint(p)}"));
                writer.Write(line);
            }

            writer.WriteLine(";");
        }
コード例 #26
0
ファイル: HatchStyleDefinition.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" HATCHSTYLEDEF {WriteIndex(Index)} {WriteEnum(Style)} {WriteVDC(FirstDirX)} {WriteVDC(FirstDirY)} {WriteVDC(SecondDirX)} {WriteVDC(SecondDirY)}");

            writer.Write($" {WriteVDC(CycleLength)} {WriteInt(GapWidths.Count)}");

            foreach (var val in GapWidths)
            {
                writer.Write($" {WriteInt(val)}");
            }

            foreach (var val in LineTypes)
            {
                writer.Write($" {WriteInt(val)}");
            }

            writer.WriteLine(";");
        }
コード例 #27
0
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($"  RESTRTEXT");
            writer.Write(" " + WriteDouble(DeltaWidth));
            writer.Write(" " + WriteDouble(DeltaHeight));
            writer.Write("  " + WritePoint(Position));

            if (Final)
            {
                writer.Write($" final");
            }
            else
            {
                writer.Write($" notfinal");
            }

            writer.Write($" {WriteString(Text)}");

            writer.WriteLine(";");
        }
コード例 #28
0
ファイル: InheritanceFilter.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($"  INHFILTER");

            foreach (var val in Values)
            {
                writer.Write($" {WriteEnum((int)val)}");
            }

            if (Setting == 0)
            {
                writer.Write(" stlist");
            }
            else
            {
                writer.Write(" seg");
            }

            writer.WriteLine(";");
        }
コード例 #29
0
ファイル: ColourValueExtent.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" colrvalueext ");

            if (_container.ColourModel == ColourModel.Model.RGB)
            {
                writer.Write($"{MinimumColorValueRGB[0]} {MinimumColorValueRGB[1]} {MinimumColorValueRGB[2]}");
                writer.Write($", {MaximumColorValueRGB[0]} {MaximumColorValueRGB[1]} {MaximumColorValueRGB[2]}");
            }
            else if (_container.ColourModel == ColourModel.Model.CMYK)
            {
                writer.Write($"{MinimumColorValueRGB[0]} {MinimumColorValueRGB[1]} {MinimumColorValueRGB[2]} {MinimumColorValueRGB[3]}");
                writer.Write($", {MaximumColorValueRGB[0]} {MaximumColorValueRGB[1]} {MaximumColorValueRGB[2]} {MaximumColorValueRGB[3]}");
            }
            else
            {
                writer.Write($"{AsColorValue(FirstComponentScale)} {AsColorValue(SecondComponentScale)} {AsColorValue(ThirdComponentScale)}");
            }

            writer.WriteLine(";");
        }
コード例 #30
0
ファイル: ColourCalibration.cs プロジェクト: twenzel/CGM
        public override void WriteAsClearText(IClearTextWriter writer)
        {
            writer.Write($" COLRCALIB {WriteInt(CalibrationSelection)} {WriteReal(ReferenceX)} {WriteReal(ReferenceY)} {WriteReal(ReferenceZ)}");

            writer.Write($" {WriteReal(Xr)} {WriteReal(Xg)} {WriteReal(Xb)} {WriteReal(Yr)} {WriteReal(Yg)} {WriteReal(Yb)} {WriteReal(Zr)} {WriteReal(Zg)} {WriteReal(Zb)}");
            writer.Write($" {WriteReal(Ra)} {WriteReal(Rb)} {WriteReal(Rc)} {WriteReal(Ga)} {WriteReal(Gb)} {WriteReal(Gc)} {WriteReal(Ba)} {WriteReal(Bb)} {WriteReal(Bc)}");

            writer.Write($" {WriteInt(TableEntries)}");

            foreach (var val in LookupR)
            {
                writer.Write($" {WriteInt((int)val.Item1)} {WriteInt((int)val.Item2)}");
            }

            foreach (var val in LookupG)
            {
                writer.Write($" {WriteInt((int)val.Item1)} {WriteInt((int)val.Item2)}");
            }

            foreach (var val in LookupB)
            {
                writer.Write($" {WriteInt((int)val.Item1)} {WriteInt((int)val.Item2)}");
            }

            writer.Write($" {WriteInt(NumberOfGridLocations)}");

            foreach (var val in CmykGridLocations)
            {
                writer.Write($" {WriteColor(val, _container.ColourModel)}");
            }

            foreach (var val in XyzGridLocations)
            {
                writer.Write($" {WriteReal(val.Item1)} {WriteReal(val.Item2)} {WriteReal(val.Item3)}");
            }

            writer.WriteLine(";");
        }