├── Images ├── circular_plate_with_3holes.png ├── dam_cross_section.png ├── plate_with_slits.png ├── varai2d_menu_option.PNG ├── varai2d_solution_structure.png └── varai_2d_working.gif ├── LICENSE ├── README.md ├── Varai2D_portable ├── MathNet.Numerics.dll ├── Surface ├── ref │ └── varai2d_surface.dll ├── varai2d_surface.deps.json ├── varai2d_surface.dll ├── varai2d_surface.exe ├── varai2d_surface.pdb ├── varai2d_surface.runtimeconfig.dev.json └── varai2d_surface.runtimeconfig.json ├── how_to_use_varai2d.pdf └── varai2d_surface ├── .vs └── varai2d_surface │ ├── FileContentIndex │ ├── 10bb74ab-b5e5-4a85-99ff-b76b86ba26ab.vsidx │ └── read.lock │ └── v17 │ └── .suo ├── varai2d_surface.sln └── varai2d_surface ├── Drawing_area ├── interim_geom_class.cs ├── scale_transformation.cs ├── snap_predicate.cs ├── string_drawing_control.cs ├── surface_assoc_control.cs └── text_input_control.cs ├── Geometry_class ├── add_operation │ ├── add_arc_control.cs │ ├── add_bezier_control.cs │ ├── add_line_control.cs │ ├── add_member_control.cs │ └── member_id_control.cs ├── geom_class.cs ├── geometry_store │ ├── arcs_store.cs │ ├── beziers_store.cs │ ├── lines_store.cs │ ├── points_store.cs │ ├── surface_helper_class │ │ ├── clipper_polylines_store.cs │ │ ├── clipper_polypts_store.cs │ │ └── clipper_surface_store.cs │ └── surface_store.cs ├── history_class.cs ├── modify_operation │ ├── delete_operation_control.cs │ ├── modify_intersect_control.cs │ ├── modify_member_control.cs │ ├── modify_mirror_control.cs │ ├── modify_rotation_control.cs │ ├── modify_split_control.cs │ └── modify_translation_control.cs └── workarea_control.cs ├── Program.cs ├── Properties ├── Resources.Designer.cs ├── Resources.resx ├── Settings.Designer.cs └── Settings.settings ├── Resources ├── NewM.png ├── OpenM.png ├── duplicate.png ├── exitM.png ├── export.png ├── menupic_addarc1.png ├── menupic_addarc2.png ├── menupic_addbezier.png ├── menupic_addcircle.png ├── menupic_addline.png ├── menupic_addsurface.png ├── menupic_delete1.png ├── menupic_deletesurface.png ├── menupic_file1.png ├── menupic_intersect.png ├── menupic_mirror.png ├── menupic_options.png ├── menupic_rotate.png ├── menupic_select.png ├── menupic_splitline3.png ├── menupic_translate.png ├── saveM.png ├── scale_to_fit.png └── varai_logo3.PNG ├── bin └── Debug │ ├── net5.0-windows │ ├── MathNet.Numerics.dll │ ├── Surface │ ├── ref │ │ └── varai2d_surface.dll │ ├── varai2d_surface.deps.json │ ├── varai2d_surface.dll │ ├── varai2d_surface.exe │ ├── varai2d_surface.pdb │ ├── varai2d_surface.runtimeconfig.dev.json │ └── varai2d_surface.runtimeconfig.json │ └── net7.0-windows │ ├── MathNet.Numerics.dll │ ├── varai2d_surface.deps.json │ ├── varai2d_surface.dll │ ├── varai2d_surface.exe │ ├── varai2d_surface.pdb │ └── varai2d_surface.runtimeconfig.json ├── export_control └── export_file_raw_data_txt.cs ├── global_static ├── gfunctions.cs ├── gvariables.cs ├── options_form.Designer.cs ├── options_form.cs ├── options_form.resx ├── surface_form_api.Designer.cs ├── surface_form_api.cs ├── surface_form_api.resx └── toolbarstate.cs ├── innx_icon.ico ├── junk └── junk_unused_code.txt ├── main_form.Designer.cs ├── main_form.cs ├── main_form.resx ├── obj ├── Debug │ ├── net5.0-windows │ │ ├── .NETCoreApp,Version=v5.0.AssemblyAttributes.cs │ │ ├── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ │ ├── apphost.exe │ │ ├── ref │ │ │ └── varai2d_surface.dll │ │ ├── varai2d_surface.AssemblyInfo.cs │ │ ├── varai2d_surface.AssemblyInfoInputs.cache │ │ ├── varai2d_surface.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── varai2d_surface.Properties.Resources.resources │ │ ├── varai2d_surface.assets.cache │ │ ├── varai2d_surface.csproj.AssemblyReference.cache │ │ ├── varai2d_surface.csproj.CoreCompileInputs.cache │ │ ├── varai2d_surface.csproj.FileListAbsolute.txt │ │ ├── varai2d_surface.csproj.GenerateResource.cache │ │ ├── varai2d_surface.global_static.options_form.resources │ │ ├── varai2d_surface.global_static.surface_form_api.resources │ │ └── varai2d_surface.main_form.resources │ └── net7.0-windows │ │ ├── .NETCoreApp,Version=v7.0.AssemblyAttributes.cs │ │ ├── apphost.exe │ │ ├── ref │ │ └── varai2d_surface.dll │ │ ├── refint │ │ └── varai2d_surface.dll │ │ ├── varai2d_surface.AssemblyInfo.cs │ │ ├── varai2d_surface.AssemblyInfoInputs.cache │ │ ├── varai2d_surface.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── varai2d_surface.Properties.Resources.resources │ │ ├── varai2d_surface.assets.cache │ │ ├── varai2d_surface.csproj.AssemblyReference.cache │ │ ├── varai2d_surface.csproj.BuildWithSkipAnalyzers │ │ ├── varai2d_surface.csproj.CopyComplete │ │ ├── varai2d_surface.csproj.CoreCompileInputs.cache │ │ ├── varai2d_surface.csproj.FileListAbsolute.txt │ │ ├── varai2d_surface.csproj.GenerateResource.cache │ │ ├── varai2d_surface.dll │ │ ├── varai2d_surface.genruntimeconfig.cache │ │ ├── varai2d_surface.global_static.options_form.resources │ │ ├── varai2d_surface.global_static.surface_form_api.resources │ │ ├── varai2d_surface.main_form.resources │ │ └── varai2d_surface.pdb ├── project.assets.json ├── project.nuget.cache ├── varai2d_surface.csproj.nuget.dgspec.json ├── varai2d_surface.csproj.nuget.g.props └── varai2d_surface.csproj.nuget.g.targets ├── varai2d_surface.csproj └── varai2d_surface.csproj.user /Images/circular_plate_with_3holes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Images/circular_plate_with_3holes.png -------------------------------------------------------------------------------- /Images/dam_cross_section.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Images/dam_cross_section.png -------------------------------------------------------------------------------- /Images/plate_with_slits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Images/plate_with_slits.png -------------------------------------------------------------------------------- /Images/varai2d_menu_option.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Images/varai2d_menu_option.PNG -------------------------------------------------------------------------------- /Images/varai2d_solution_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Images/varai2d_solution_structure.png -------------------------------------------------------------------------------- /Images/varai_2d_working.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Images/varai_2d_working.gif -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Mano 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VARAI2D 2 | Varai2D is a powerful windows application to create 2D geometry. The main objective of this application is to allow user to create 2D domains which can be easily imported to mesh generation or other FE softwares. 3 | 4 | ![Varai2D Working](/Images/varai_2d_working.gif) 5 | 6 | ![Plate with slits](/Images/plate_with_slits.png) 7 | 8 | ![Dam cross-section](/Images/dam_cross_section.png) 9 | 10 | ![Circular plate with 3holes](/Images/circular_plate_with_3holes.png) 11 | 12 | ![Varai2D Menu option](/Images/varai2d_menu_option.PNG) 13 | 14 | # Status: In progress 15 | 16 | # How to use 17 | The attached how_to_use_varai2d.pdf gives a very detailed information on how to use this software. 18 | 19 | # Features 20 | Main graphics features are 21 | - [x] Zoom (ctrl + scroll) 22 | - [x] Pan (ctrl + right click and drag) 23 | - [x] Scale to fit drawing area (Ctrl + F) 24 | 25 | Drawing objects 26 | - [x] AddLine (2 Left click or keyboard input) 27 | - [x] Add Circular arc (3 Left clicks or keyboard input) 28 | - [x] Add Bezier curve (3pts, 4pts or 5pts Bezier curve) 29 | 30 | Modify objects 31 | - [x] Delete objects 32 | - [x] Translate objects 33 | - [x] Rotate objects 34 | - [x] Reflect (mirror) objects 35 | - [x] Intersect objects (intersect any 2 objects) 36 | - [x] Split objects (split based on parameter t) 37 | - [x] Undo (Ctrl + Z) 38 | - [x] Redo (Ctrl + R) 39 | 40 | Other features 41 | - [x] Create/ Delete surface (automatically identify surfaces based on non-self intersecting closed boundaries) 42 | - [x] Options (Enable user to control the graphics, snapping & other options of the software) 43 | 44 | Export option 45 | - [x] Raw text export (*.TXT) 46 | - [x] Save as Picture file (*.PNG) 47 | - [X] Varai Object export (*.2DS) 48 | - [ ] Autocad format (*.DWG, *.DXF) 49 | - [ ] CALS compliant Metafile (*.CGM) 50 | - [ ] Drawing Web Format (*.DWF) 51 | - [ ] Solid Edge 2D (*.DFT) 52 | - [ ] Unigraphics 2D (*.PRT) 53 | 54 | # Solution Structure 55 | ![Varai2D Solution](/Images/varai2d_solution_structure.png) 56 | 57 | # Future work 58 | 59 | Integrate the graphics into Modern OpenGL v3.3+ from the current GDI+. 60 | -------------------------------------------------------------------------------- /Varai2D_portable/MathNet.Numerics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Varai2D_portable/MathNet.Numerics.dll -------------------------------------------------------------------------------- /Varai2D_portable/Surface: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Varai2D_portable/Surface -------------------------------------------------------------------------------- /Varai2D_portable/ref/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Varai2D_portable/ref/varai2d_surface.dll -------------------------------------------------------------------------------- /Varai2D_portable/varai2d_surface.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v5.0", 4 | "signature": "" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v5.0": { 9 | "varai2d_surface/1.0.0": { 10 | "dependencies": { 11 | "MathNet.Numerics": "4.15.0" 12 | }, 13 | "runtime": { 14 | "varai2d_surface.dll": {} 15 | } 16 | }, 17 | "MathNet.Numerics/4.15.0": { 18 | "runtime": { 19 | "lib/netstandard2.0/MathNet.Numerics.dll": { 20 | "assemblyVersion": "4.15.0.0", 21 | "fileVersion": "4.15.0.0" 22 | } 23 | } 24 | } 25 | } 26 | }, 27 | "libraries": { 28 | "varai2d_surface/1.0.0": { 29 | "type": "project", 30 | "serviceable": false, 31 | "sha512": "" 32 | }, 33 | "MathNet.Numerics/4.15.0": { 34 | "type": "package", 35 | "serviceable": true, 36 | "sha512": "sha512-cP4QgPPiU7boMyL8npvuQyVGVYUd/JQY1AWa+Wl2f//fuJN40qwt9ABRazunZIcDLHg3SSlgD/e+3Lnp69jNTg==", 37 | "path": "mathnet.numerics/4.15.0", 38 | "hashPath": "mathnet.numerics.4.15.0.nupkg.sha512" 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Varai2D_portable/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Varai2D_portable/varai2d_surface.dll -------------------------------------------------------------------------------- /Varai2D_portable/varai2d_surface.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Varai2D_portable/varai2d_surface.exe -------------------------------------------------------------------------------- /Varai2D_portable/varai2d_surface.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/Varai2D_portable/varai2d_surface.pdb -------------------------------------------------------------------------------- /Varai2D_portable/varai2d_surface.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\hfxmsz\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\hfxmsz\\.nuget\\packages", 6 | "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /Varai2D_portable/varai2d_surface.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net5.0", 4 | "framework": { 5 | "name": "Microsoft.WindowsDesktop.App", 6 | "version": "5.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /how_to_use_varai2d.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/how_to_use_varai2d.pdf -------------------------------------------------------------------------------- /varai2d_surface/.vs/varai2d_surface/FileContentIndex/10bb74ab-b5e5-4a85-99ff-b76b86ba26ab.vsidx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/.vs/varai2d_surface/FileContentIndex/10bb74ab-b5e5-4a85-99ff-b76b86ba26ab.vsidx -------------------------------------------------------------------------------- /varai2d_surface/.vs/varai2d_surface/FileContentIndex/read.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/.vs/varai2d_surface/FileContentIndex/read.lock -------------------------------------------------------------------------------- /varai2d_surface/.vs/varai2d_surface/v17/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/.vs/varai2d_surface/v17/.suo -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31910.168 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "varai2d_surface", "varai2d_surface\varai2d_surface.csproj", "{B3400377-71CA-4B5D-9970-0232C020A1D6}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B3400377-71CA-4B5D-9970-0232C020A1D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {B3400377-71CA-4B5D-9970-0232C020A1D6}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {B3400377-71CA-4B5D-9970-0232C020A1D6}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {B3400377-71CA-4B5D-9970-0232C020A1D6}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {FC5A69AB-4D59-414D-B6DE-9C29393FB821} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Drawing_area/scale_transformation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | using varai2d_surface.Drawing_area; 10 | using System.Windows.Forms; 11 | using MathNet.Numerics.LinearAlgebra; 12 | using MathNet.Numerics.LinearAlgebra.Double; 13 | using varai2d_surface.Geometry_class.geometry_store; 14 | using varai2d_surface.Geometry_class; 15 | 16 | namespace varai2d_surface.Drawing_area 17 | { 18 | 19 | public class scale_transformation 20 | { 21 | private workarea_control wkc_obj; 22 | private double scale_value; 23 | private PointF transl_value; 24 | 25 | public scale_transformation(int main_pic_width, int main_pic_height,workarea_control wkc) 26 | { 27 | this.wkc_obj = wkc; 28 | 29 | if (this.wkc_obj.geom_obj.all_end_pts.Count < 2) 30 | return; 31 | 32 | // Scale the entire geometry to fit to the size of the painting area 33 | // Get all the co-ordinates of geometry 34 | double min_x = Double.MaxValue; 35 | double min_y = Double.MaxValue; 36 | double max_x = Double.MinValue; 37 | double max_y = Double.MinValue; 38 | 39 | // Arc crown and center point 40 | foreach (arcs_store g_arc in this.wkc_obj.geom_obj.all_arcs) 41 | { 42 | double[] param_t_list = new double[11] { 0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.99 }; 43 | 44 | for (int i = 0; i < param_t_list.Length; i++) 45 | { 46 | //Get the point at parameter t 47 | PointF get_param_pt = g_arc.get_point_at_t(param_t_list[i]); 48 | 49 | min_x = Math.Min(min_x, get_param_pt.X); 50 | max_x = Math.Max(max_x, get_param_pt.X); 51 | 52 | min_y = Math.Min(min_y, get_param_pt.Y); 53 | max_y = Math.Max(max_y, get_param_pt.Y); 54 | } 55 | } 56 | 57 | // Bezier all control points 58 | foreach (beziers_store g_bezier in this.wkc_obj.geom_obj.all_beziers) 59 | { 60 | double[] param_t_list = new double[11] { 0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.99 }; 61 | 62 | for (int i = 0; i < param_t_list.Length; i++) 63 | { 64 | //Get the point at parameter t 65 | PointF get_param_pt = g_bezier.get_point_at_t(param_t_list[i]); 66 | 67 | min_x = Math.Min(min_x, get_param_pt.X); 68 | max_x = Math.Max(max_x, get_param_pt.X); 69 | 70 | min_y = Math.Min(min_y, get_param_pt.Y); 71 | max_y = Math.Max(max_y, get_param_pt.Y); 72 | } 73 | } 74 | 75 | // All end points 76 | foreach (points_store g_points in this.wkc_obj.geom_obj.all_end_pts) 77 | { 78 | min_x = Math.Min(min_x, g_points.x); 79 | max_x = Math.Max(max_x, g_points.x); 80 | 81 | min_y = Math.Min(min_y, g_points.y); 82 | max_y = Math.Max(max_y, g_points.y); 83 | } 84 | 85 | double bound_width = max_x - min_x; 86 | double bound_height = max_y - min_y; 87 | 88 | // Translate co-ordinates to zero 89 | this.transl_value = new PointF(-(float)(min_x + (bound_width * 0.5f)), -(float)(min_y + (bound_height * 0.5f))); 90 | // Scale co-ordinates to fit the size 91 | this.scale_value = Math.Min((((double)main_pic_height) / bound_height), (((double)main_pic_width) / bound_width)) * gvariables.scale_margin; 92 | gvariables.scale_factor = gvariables.scale_factor * this.scale_value; 93 | // Scale all the points 94 | scale_fit_points(); 95 | 96 | // Scale all the lines 97 | scale_fit_lines(); 98 | 99 | // Scale all the Arcs 100 | scale_fit_arcs(); 101 | 102 | // Scale all the Beziers 103 | scale_fit_beziers(); 104 | 105 | // Scale all the Surfaces 106 | scale_fit_surfaces(); 107 | } 108 | 109 | private void scale_fit_points() 110 | { 111 | foreach (points_store pts in this.wkc_obj.geom_obj.all_end_pts) 112 | { 113 | pts.Scale_points(this.scale_value, this.transl_value); 114 | } 115 | 116 | } 117 | 118 | private void scale_fit_lines() 119 | { 120 | foreach (lines_store lns in this.wkc_obj.geom_obj.all_lines) 121 | { 122 | lns.Scale_lines(this.scale_value, this.transl_value, this.wkc_obj.geom_obj.all_end_pts); 123 | } 124 | } 125 | 126 | private void scale_fit_arcs() 127 | { 128 | foreach (arcs_store arcs in this.wkc_obj.geom_obj.all_arcs) 129 | { 130 | arcs.Scale_arcs(this.scale_value, this.transl_value, this.wkc_obj.geom_obj.all_end_pts); 131 | } 132 | } 133 | 134 | private void scale_fit_beziers() 135 | { 136 | foreach (beziers_store bzs in this.wkc_obj.geom_obj.all_beziers) 137 | { 138 | bzs.Scale_beziers(this.scale_value, this.transl_value, this.wkc_obj.geom_obj.all_end_pts); 139 | } 140 | } 141 | 142 | private void scale_fit_surfaces() 143 | { 144 | foreach (surface_store surf in this.wkc_obj.geom_obj.all_surfaces) 145 | { 146 | surf.Scale_surfaces(this.scale_value, this.transl_value, this.wkc_obj.geom_obj.all_end_pts); 147 | } 148 | } 149 | } 150 | } 151 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Drawing_area/snap_predicate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | using varai2d_surface.Geometry_class; 10 | using varai2d_surface.Geometry_class.geometry_store; 11 | 12 | namespace varai2d_surface.Drawing_area 13 | { 14 | [Serializable] 15 | public class snap_predicate 16 | { 17 | // temporary points are added during the addition process 18 | List temp_points = new List(); 19 | List temp_pt_id = new List(); 20 | 21 | private bool _Is_snapped = false; 22 | private bool Is_point_snap = false; 23 | private bool Is_point_v_snap = false; 24 | private bool Is_point_h_snap = false; 25 | 26 | private PointF snapped_pt = new PointF(0, 0); 27 | public bool Is_snapped { get { return this._Is_snapped; } set { this._Is_snapped = value; } } 28 | 29 | public void paint_snap_lines(Graphics gr0) 30 | { 31 | 32 | // Remove below !!!!!!!!!!!!!!!!!!!!!!! 33 | foreach (points_store pt in temp_points) 34 | pt.paint_point(gr0); 35 | ////////////////////////////////////////////// !!!!!!!!!!!!!!!!!!!!!!!!!! 36 | 37 | if (_Is_snapped == false) 38 | return; 39 | 40 | if (Is_point_snap == true) 41 | { 42 | // Draw ellipse at the snapped point 43 | gr0.DrawEllipse(gvariables.pen_snapline, gfunctions.get_ellipse_rectangle(snapped_pt, 6)); 44 | return; 45 | } 46 | 47 | if (Is_point_v_snap == true) 48 | { 49 | // Draw vertical line (twice the length of canvas height) 50 | 51 | gr0.DrawLine(gvariables.pen_snapline, snapped_pt.X, snapped_pt.Y+(float)((-1.0f*gvariables.mainpic_size.Height) / gvariables.zoom_factor), snapped_pt.X, snapped_pt.Y + (float)(gvariables.mainpic_size.Height/gvariables.zoom_factor)); 52 | } 53 | 54 | if (Is_point_h_snap == true) 55 | { 56 | // Draw horizontal line (twice the length of canvas width) 57 | // gvariables.pen_snapline.DashStyle = DashStyle.DashDotDot; 58 | gr0.DrawLine(gvariables.pen_snapline, snapped_pt.X+(float)((-1.0f * gvariables.mainpic_size.Width) / gvariables.zoom_factor), snapped_pt.Y, snapped_pt.X+(float)(gvariables.mainpic_size.Width / gvariables.zoom_factor), snapped_pt.Y); 59 | } 60 | } 61 | 62 | public snap_predicate() 63 | { 64 | gvariables.pen_snapline.DashStyle = DashStyle.DashDotDot; 65 | } 66 | 67 | public void clear_temp_point() 68 | { 69 | _Is_snapped = false; 70 | Is_point_snap = false; 71 | Is_point_v_snap = false; 72 | Is_point_h_snap = false; 73 | 74 | temp_pt_id.Clear(); 75 | temp_points.Clear(); 76 | } 77 | 78 | public bool Check_snap(PointF c_pt, HashSet all_perm_points) 79 | { 80 | // Make a list with permanent and temporary points 81 | List perm_and_temp_pts = new List(); 82 | 83 | perm_and_temp_pts.AddRange(all_perm_points); 84 | perm_and_temp_pts.AddRange(temp_points); 85 | 86 | // Snapped 87 | Is_point_snap = false; 88 | Is_point_h_snap = false; 89 | Is_point_v_snap = false; 90 | 91 | // create a point just an adhoc to check whether the point snaps to an existing point 92 | points_store adhoc_pt = new points_store(-100, c_pt.X, c_pt.Y); 93 | 94 | int index; 95 | // Check whether the cursor pt lies on an existing point 96 | index = perm_and_temp_pts.FindIndex(obj => obj.is_pt_snap(adhoc_pt)); 97 | 98 | if (index != -1) 99 | { 100 | // an existing point with same x,y co-ordinate is found 101 | this.snapped_pt = perm_and_temp_pts[index].get_point; 102 | this._Is_snapped = true; 103 | Is_point_snap = true; 104 | return true; 105 | } 106 | 107 | // X,Y point; 108 | double x_cpt = adhoc_pt.x; 109 | double y_cpt = adhoc_pt.y; 110 | 111 | // Check whether the cursor pt lies on a vertical line of any existing point 112 | index = perm_and_temp_pts.FindIndex(obj => obj.is_pt_v_snap(adhoc_pt)); 113 | 114 | if (index != -1) 115 | { 116 | // an existing point with same x co-ordinate is found 117 | x_cpt = perm_and_temp_pts[index].x; 118 | this._Is_snapped = true; 119 | Is_point_v_snap = true; 120 | } 121 | 122 | // Check whehter the cursor pt lies on a horizontal line of any existing point 123 | index = perm_and_temp_pts.FindIndex(obj => obj.is_pt_h_snap(adhoc_pt)); 124 | 125 | if (index != -1) 126 | { 127 | // an existing point with same x co-ordinate is found 128 | y_cpt =perm_and_temp_pts[index].y; 129 | this._Is_snapped = true; 130 | Is_point_h_snap = true; 131 | } 132 | 133 | if (Is_point_h_snap == true || Is_point_v_snap == true) 134 | { 135 | this.snapped_pt = new PointF((float)x_cpt, (float)y_cpt); 136 | return true; 137 | } 138 | 139 | Is_point_snap = false; 140 | Is_point_h_snap = false; 141 | Is_point_v_snap = false; 142 | return false; 143 | } 144 | 145 | public points_store get_snap_point(PointF c_pt, geom_class geom) 146 | { 147 | // Make a list with permanent and temporary points 148 | List perm_and_temp_pts = new List(); 149 | 150 | perm_and_temp_pts.AddRange(geom.all_end_pts); 151 | perm_and_temp_pts.AddRange(temp_points); 152 | 153 | int unique_node_id = geom.id_control.get_point_id(temp_pt_id); 154 | 155 | // create a point just an adhoc to check whether the point snaps to an existing point 156 | points_store adhoc_pt = new points_store(unique_node_id, c_pt.X, c_pt.Y); 157 | 158 | int index; 159 | // Check whether the cursor pt lies on an existing point 160 | index = perm_and_temp_pts.FindIndex(obj => obj.is_pt_snap(adhoc_pt)); 161 | 162 | if (index != -1) 163 | { 164 | // an existing point with same x,y co-ordinate is found 165 | return perm_and_temp_pts[index]; 166 | } 167 | 168 | // X,Y point; 169 | double x_cpt = adhoc_pt.x; 170 | double y_cpt = adhoc_pt.y; 171 | 172 | // Check whether the cursor pt lies on a vertical line of any existing point 173 | index = perm_and_temp_pts.FindIndex(obj => obj.is_pt_v_snap(adhoc_pt)); 174 | 175 | if (index != -1) 176 | { 177 | // an existing point with same x co-ordinate is found 178 | x_cpt = perm_and_temp_pts[index].x; 179 | } 180 | 181 | // Check whehter the cursor pt lies on a horizontal line of any existing point 182 | index = perm_and_temp_pts.FindIndex(obj => obj.is_pt_h_snap(adhoc_pt)); 183 | 184 | if (index != -1) 185 | { 186 | // an existing point with same x co-ordinate is found 187 | y_cpt = perm_and_temp_pts[index].y; 188 | } 189 | 190 | // snapped 191 | adhoc_pt = new points_store(adhoc_pt.nd_id, x_cpt, y_cpt); 192 | temp_pt_id.Add(adhoc_pt.nd_id); 193 | temp_points.Add(adhoc_pt); 194 | return adhoc_pt; 195 | } 196 | 197 | } 198 | } 199 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Drawing_area/string_drawing_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | 10 | namespace varai2d_surface.Drawing_area 11 | { 12 | public static class string_drawing_control 13 | { 14 | public static Font font_paintstring = new Font("Cambria Math", gvariables.str_font_size); 15 | public static int rotate_transform_fail_count = 0; 16 | 17 | 18 | public static void paint_string(Graphics gr0, String str, PointF vector, PointF location) 19 | { 20 | // Save the graphics state before transformation 21 | GraphicsState g_state = gr0.Save(); 22 | 23 | //gr0.SmoothingMode = SmoothingMode.HighQuality; 24 | 25 | // Translate string location to origin 26 | gr0.TranslateTransform(location.X, location.Y); 27 | 28 | float vector_angle = (float)(Math.Atan2((-1.0f * vector.Y), vector.X) * (180 / Math.PI)); 29 | 30 | // Position the string above the line 31 | if (vector_angle < -89.0f || vector_angle > 91.0f) 32 | { 33 | vector_angle += 180.0f; 34 | } 35 | 36 | try 37 | { 38 | // Rotate transform is failing for no reason !!!!! 39 | gr0.RotateTransform(-1.0f * vector_angle); 40 | } 41 | catch { rotate_transform_fail_count++; } 42 | 43 | //measure the string 44 | SizeF size_of_str = gr0.MeasureString(str, font_paintstring); 45 | PointF adjusted_location = new PointF(-1.0f * (size_of_str.Width * 0.5f), -1.0f * size_of_str.Height); 46 | 47 | gr0.DrawString(str, font_paintstring, gvariables.pen_string.Brush, adjusted_location); 48 | 49 | // Restore the graphics state to original 50 | gr0.Restore(g_state); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Drawing_area/surface_assoc_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | using varai2d_surface.Drawing_area; 10 | using System.Windows.Forms; 11 | using MathNet.Numerics.LinearAlgebra; 12 | using MathNet.Numerics.LinearAlgebra.Double; 13 | using varai2d_surface.Geometry_class.geometry_store; 14 | using varai2d_surface.Geometry_class; 15 | 16 | namespace varai2d_surface.Drawing_area 17 | { 18 | public class surface_assoc_control 19 | { 20 | private workarea_control wkc_obj; 21 | 22 | public surface_assoc_control(workarea_control wkc) 23 | { 24 | // Set the workarea 25 | this.wkc_obj = wkc; 26 | } 27 | 28 | public void add_surface_association(surface_store surf_list) 29 | { 30 | // add surface 31 | 32 | } 33 | 34 | public void delete_surface_dissociation(surface_store surf_list) 35 | { 36 | // Delete surface 37 | 38 | } 39 | 40 | private void associate_lines(bool is_associate) 41 | { 42 | 43 | } 44 | 45 | private void associate_arcs(bool is_associate) 46 | { 47 | 48 | } 49 | 50 | private void associate_bezier(bool is_associate) 51 | { 52 | 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Drawing_area/text_input_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace varai2d_surface.Drawing_area 8 | { 9 | public static class text_input_control 10 | { 11 | 12 | public static bool is_textvalue_length_angle_valid(string check_str, bool is_only_length, bool is_only_angle) 13 | { 14 | double rslt; 15 | bool is_numeric; 16 | 17 | if ( is_only_length == false && is_only_angle == false ) 18 | { 19 | // Check whether a string is of format 20 | // ####.###,-###.### 21 | // ##.##,##.### 22 | 23 | string[] str_split_comma = check_str.Split(','); 24 | 25 | // Check 1 String data must be two parts with comma in the middle 26 | if (str_split_comma.Length != 2) 27 | { 28 | return false; 29 | } 30 | 31 | // Check the first part of the string 32 | is_numeric = double.TryParse(str_split_comma[0], out rslt); 33 | if (is_numeric == false) 34 | { 35 | return false; 36 | } 37 | else 38 | { 39 | if (rslt < 0) 40 | { 41 | // Negative values are not allowed 42 | return false; 43 | } 44 | } 45 | 46 | // Check the second part of the string 47 | is_numeric = double.TryParse(str_split_comma[1], out rslt); 48 | if (is_numeric == false) 49 | { 50 | return false; 51 | } 52 | } 53 | else if (is_only_length == true) 54 | { 55 | // Check the Length part of the string 56 | is_numeric = double.TryParse(check_str, out rslt); 57 | if (is_numeric == false) 58 | { 59 | return false; 60 | } 61 | else 62 | { 63 | if (rslt < 0) 64 | { 65 | // Negative values are not allowed 66 | return false; 67 | } 68 | } 69 | 70 | } 71 | else if (is_only_angle == true) 72 | { 73 | // Check only angle is true (For mirror and rotate operation) 74 | is_numeric = double.TryParse(check_str, out rslt); 75 | if (is_numeric == false) 76 | { 77 | return false; 78 | } 79 | } 80 | 81 | return true; 82 | } 83 | 84 | public static Tuple get_textvalue_length_angle(string check_str,bool is_only_length, bool is_only_angle) 85 | { 86 | double length_rslt =0 , angle_rslt = 0; 87 | if (is_only_length == false && is_only_angle == false) 88 | { 89 | // Check the string for format before using this function 90 | // ####.###,-###.### 91 | // ##.##,##.### 92 | 93 | string[] str_split_comma = check_str.Split(','); 94 | 95 | // Convert the first part of the string 96 | 97 | double.TryParse(str_split_comma[0], out length_rslt); 98 | 99 | // Convert the second part of the string 100 | double.TryParse(str_split_comma[1], out angle_rslt); 101 | 102 | 103 | } 104 | else if (is_only_length == true) 105 | { 106 | angle_rslt = 0; // Just a dummy value 107 | // Convert the angle part of the string 108 | double.TryParse(check_str, out length_rslt); 109 | } 110 | else if(is_only_angle == true) 111 | { 112 | length_rslt = 100; // Just a dummy value 113 | // Convert the angle part of the string 114 | double.TryParse(check_str, out angle_rslt); 115 | } 116 | 117 | return new Tuple(length_rslt, angle_rslt); 118 | 119 | } 120 | 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/add_operation/add_arc_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using varai2d_surface.Geometry_class.geometry_store; 7 | 8 | namespace varai2d_surface.Geometry_class.add_operation 9 | { 10 | public class add_arc_control 11 | { 12 | private workarea_control wkc_obj; 13 | 14 | public void add_arc(workarea_control wkc) 15 | { 16 | this.wkc_obj = wkc; 17 | 18 | int member_id = this.wkc_obj.geom_obj.id_control.get_member_id(); 19 | 20 | // Add Arc 21 | this.wkc_obj.geom_obj.add_arc(member_id, this.wkc_obj.interim_obj.click_pts[0], this.wkc_obj.interim_obj.click_pts[1], 22 | this.wkc_obj.interim_obj.click_pts[2].get_point, this.wkc_obj.interim_obj.click_pts[3].get_point); 23 | 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/add_operation/add_bezier_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using varai2d_surface.Geometry_class.geometry_store; 8 | 9 | namespace varai2d_surface.Geometry_class.add_operation 10 | { 11 | public class add_bezier_control 12 | { 13 | private workarea_control wkc_obj; 14 | 15 | public void add_bezier(workarea_control wkc) 16 | { 17 | this.wkc_obj = wkc; 18 | int member_id = this.wkc_obj.geom_obj.id_control.get_member_id(); 19 | 20 | List cntrl_pts = new List(); 21 | 22 | for(int i= 0; i< this.wkc_obj.interim_obj.click_pts.Count;i++) 23 | { 24 | cntrl_pts.Add(this.wkc_obj.interim_obj.click_pts[i].get_point); 25 | } 26 | int poly_count = this.wkc_obj.interim_obj.click_pts.Count; 27 | 28 | // Need special consideration to add the end points (to get the point ids to allign with order !!) 29 | this.wkc_obj.snap_obj.clear_temp_point(); 30 | points_store s_pt = this.wkc_obj.snap_obj.get_snap_point(this.wkc_obj.interim_obj.click_pts[0].get_point, this.wkc_obj.geom_obj); 31 | points_store e_pt = this.wkc_obj.snap_obj.get_snap_point(this.wkc_obj.interim_obj.click_pts[poly_count - 1].get_point, this.wkc_obj.geom_obj); 32 | 33 | // Add Bezier 34 | this.wkc_obj.geom_obj.add_bezier(member_id, poly_count, 35 | s_pt, 36 | e_pt, cntrl_pts); 37 | } 38 | 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/add_operation/add_line_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using varai2d_surface.Geometry_class.geometry_store; 7 | 8 | namespace varai2d_surface.Geometry_class.add_operation 9 | { 10 | public class add_line_control 11 | { 12 | private workarea_control wkc_obj; 13 | 14 | public void add_line(workarea_control wkc) 15 | { 16 | this.wkc_obj = wkc; 17 | int member_id = this.wkc_obj.geom_obj.id_control.get_member_id(); 18 | 19 | // Add line 20 | this.wkc_obj.geom_obj.add_line(member_id, this.wkc_obj.interim_obj.click_pts[0], this.wkc_obj.interim_obj.click_pts[1]); 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/add_operation/add_member_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace varai2d_surface.Geometry_class.add_operation 8 | { 9 | [Serializable] 10 | public class add_member_control 11 | { 12 | 13 | public void add_member(int c_state, workarea_control wkc) 14 | { 15 | // Save the state 16 | if (c_state > 0 && c_state < 6) 17 | { 18 | // Save the state before the modification 19 | wkc.save_state(); 20 | } 21 | 22 | // Processing Add member 23 | switch (c_state) 24 | { 25 | case 1: 26 | { 27 | (new add_line_control()).add_line(wkc); 28 | break; 29 | } 30 | case 2: 31 | { 32 | // Not implemented 33 | break; 34 | } 35 | case 3: 36 | { 37 | // add_arc(); 38 | (new add_arc_control()).add_arc(wkc); 39 | break; 40 | } 41 | case 4: 42 | { 43 | // Not implemented 44 | break; 45 | } 46 | case 5: 47 | { 48 | // add_bezier(); 49 | (new add_bezier_control()).add_bezier(wkc); 50 | break; 51 | } 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/add_operation/member_id_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace varai2d_surface.Geometry_class.add_operation 8 | { 9 | [Serializable] 10 | public class member_id_control 11 | { 12 | private HashSet _point_id = new HashSet(); 13 | private HashSet _line_id = new HashSet(); 14 | private HashSet _arc_id = new HashSet(); 15 | private HashSet _bezier_id = new HashSet(); 16 | private HashSet _member_id = new HashSet(); 17 | 18 | 19 | public HashSet point_id {get { return this._point_id; } } 20 | public HashSet line_id { get { return this._line_id; } } 21 | public HashSet arc_id { get { return this._arc_id; } } 22 | public HashSet bezier_id { get { return this._bezier_id; } } 23 | 24 | public HashSet member_id0 { get { return this._member_id; } } 25 | 26 | public member_id_control() 27 | { 28 | // Empty constructor 29 | } 30 | 31 | public member_id_control(HashSet t_point_id, 32 | HashSet t_line_id, 33 | HashSet t_arc_id, 34 | HashSet t_bezier_id, 35 | HashSet t_member_id) 36 | { 37 | // Constructor to renew the entire data 38 | // Point 39 | this._point_id = new HashSet(); 40 | this._point_id.UnionWith(t_point_id); 41 | // Line 42 | this._line_id = new HashSet(); 43 | this._line_id.UnionWith(t_line_id); 44 | // Arc 45 | this._arc_id = new HashSet(); 46 | this._arc_id.UnionWith(t_arc_id); 47 | // Bezier 48 | this._bezier_id = new HashSet(); 49 | this._bezier_id.UnionWith(t_bezier_id); 50 | // Member 51 | this._member_id = new HashSet(); 52 | this._member_id.UnionWith(t_member_id); 53 | } 54 | 55 | public void add_point_id(int pt_id) 56 | { 57 | point_id.Add(pt_id); 58 | } 59 | 60 | public void delete_point_id(int pt_id) 61 | { 62 | point_id.Remove(pt_id); 63 | } 64 | 65 | public void add_member_id(int mem_id, int type) 66 | { 67 | //type: 1 Line, type: 2 Arc, type: 3 Bezier 68 | if (type == 1) 69 | { 70 | this._line_id.Add(mem_id); 71 | } 72 | else if (type == 2) 73 | { 74 | this._arc_id.Add(mem_id); 75 | } 76 | else if (type == 3) 77 | { 78 | this._bezier_id.Add(mem_id); 79 | } 80 | this._member_id.Add(mem_id); 81 | } 82 | 83 | public void delete_member_id(int mem_id, int type) 84 | { 85 | //type: 1 Line, type: 2 Arc, type: 3 Bezier 86 | if (type == 1) 87 | { 88 | this._line_id.Remove(mem_id); 89 | } 90 | else if (type == 2) 91 | { 92 | this._arc_id.Remove(mem_id); 93 | } 94 | else if (type == 3) 95 | { 96 | this._bezier_id.Remove(mem_id); 97 | } 98 | this._member_id.Remove(mem_id); 99 | } 100 | 101 | public int get_member_id() 102 | { 103 | List all_m_ids = new List(); 104 | all_m_ids.AddRange(this._member_id.ToList()); 105 | 106 | return get_unique_id(all_m_ids); 107 | } 108 | 109 | public int get_point_id(List temp_pt_ids) 110 | { 111 | List all_pt_ids = new List(); 112 | all_pt_ids.AddRange(this._point_id); 113 | all_pt_ids.AddRange(temp_pt_ids); 114 | 115 | return get_unique_id(all_pt_ids); 116 | } 117 | 118 | private int get_unique_id(List all_ids) 119 | { 120 | if (all_ids.Count != 0) 121 | { 122 | int i; 123 | all_ids.Sort(); 124 | 125 | // Find if any of the nodes are missing in an ordered int 126 | for (i = 0; i < all_ids.Count; i++) 127 | { 128 | if (all_ids[i] != i) 129 | { 130 | return i; 131 | } 132 | } 133 | // no node id is missing in an ordered list so add to the end 134 | return all_ids.Count; 135 | } 136 | // id for the first node is 0 137 | return 0; 138 | } 139 | 140 | } 141 | } 142 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/geometry_store/points_store.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.Drawing_area; 9 | using varai2d_surface.global_static; 10 | 11 | namespace varai2d_surface.Geometry_class.geometry_store 12 | { 13 | [Serializable] 14 | public class points_store : IEquatable 15 | { 16 | private int _nd_id; 17 | private double _x; 18 | private double _y; 19 | private Predicate _is_pt_snap; 20 | private Predicate _is_pt_h_snap; 21 | private Predicate _is_pt_v_snap; 22 | 23 | public int nd_id { get { return this._nd_id; } } 24 | 25 | public double x { get { return this._x; } } 26 | 27 | public double y { get { return this._y; } } 28 | 29 | public Predicate is_pt_snap { get { return this._is_pt_snap; } } 30 | 31 | public Predicate is_pt_h_snap { get { return this._is_pt_h_snap; } } 32 | 33 | public Predicate is_pt_v_snap { get { return this._is_pt_v_snap; } } 34 | 35 | 36 | public PointF get_point 37 | { 38 | get 39 | { 40 | return new PointF((float)this._x, 41 | (float)this._y); 42 | } 43 | } 44 | 45 | public string str_node_coord { get { return ("(" + (x/gvariables.scale_factor).ToString(gvariables.pt_coord_pres) + ", " + (-1.0f * (y / gvariables.scale_factor)).ToString(gvariables.pt_coord_pres) + ")"); } } 46 | 47 | public string str_node_id { get { return (this._nd_id.ToString()); } } 48 | 49 | public string str_node_txt 50 | { 51 | get 52 | { 53 | // Send the node details as string to paint 54 | string str_rslt = ""; 55 | if (gvariables.Is_paint_ptid == true) 56 | { 57 | str_rslt = str_node_id; 58 | } 59 | 60 | if (gvariables.Is_paint_ptcoord == true) 61 | { 62 | str_rslt = str_rslt + str_node_coord; 63 | } 64 | return str_rslt; 65 | } 66 | } 67 | 68 | public points_store(int id, double t_x, double t_y) 69 | { 70 | // Constructor to add point 71 | this._nd_id = id; 72 | this._x = t_x; 73 | this._y = t_y; 74 | 75 | // set the snap predicate 76 | this._is_pt_snap = check_point_snap; 77 | this._is_pt_h_snap = check_point_h_snap; 78 | this._is_pt_v_snap = check_point_v_snap; 79 | } 80 | 81 | public void Scale_points(double scale, PointF transL) 82 | { 83 | // Translate 84 | this._x = this._x + transL.X; 85 | this._y = this._y + transL.Y; 86 | 87 | // Scale 88 | this._x = this._x * scale; 89 | this._y = this._y * scale; 90 | 91 | // set the snap predicate 92 | this._is_pt_snap = check_point_snap; 93 | this._is_pt_h_snap = check_point_h_snap; 94 | this._is_pt_v_snap = check_point_v_snap; 95 | } 96 | 97 | 98 | public void paint_selected_point(Graphics gr0) 99 | { 100 | // Paint the selected ellipse on points 101 | gr0.FillEllipse(gvariables.pen_points.Brush, gfunctions.get_ellipse_rectangle(get_point, gvariables.radius_points + 1)); 102 | } 103 | 104 | public void paint_point(Graphics gr0) 105 | { 106 | // Paint the ellipse on points 107 | gr0.FillEllipse(gvariables.pen_points.Brush, gfunctions.get_ellipse_rectangle(get_point, gvariables.radius_points)); 108 | // Paint point id & co-ordinate 109 | string_drawing_control.paint_string(gr0, str_node_txt, new PointF(1, 0), get_point); 110 | } 111 | 112 | public void paint_modify_base_pt(Graphics gr0) 113 | { 114 | // Paint the ellipse on the first click after modification (translate, rotate, mirror) starts 115 | gr0.FillEllipse(gvariables.pen_snapline.Brush, gfunctions.get_ellipse_rectangle(get_point, gvariables.radius_points)); 116 | } 117 | 118 | public void paint_temp_point_during_translation(Graphics gr0, double transl_x, double transl_y) 119 | { 120 | // Paint the points while being translated (to give user the idea how the points will be after translating) 121 | double temp_x = x + transl_x; 122 | double temp_y = y + transl_y; 123 | 124 | gr0.FillEllipse(gvariables.pen_points.Brush, gfunctions.get_ellipse_rectangle(new PointF((float)temp_x, (float)temp_y), gvariables.radius_points)); 125 | } 126 | 127 | public void paint_temp_point_during_rotation(Graphics gr0, PointF rotation_pt, double rot_angle_rad) 128 | { 129 | // Paint the points while being rotated (to give user the idea how the points will be after rotation) 130 | double temp_x = x - rotation_pt.X; 131 | double temp_y = y - rotation_pt.Y; 132 | double rot_x = (temp_x * Math.Cos(rot_angle_rad) - temp_y * Math.Sin(rot_angle_rad)) + rotation_pt.X; 133 | double rot_y = (temp_x * Math.Sin(rot_angle_rad) + temp_y * Math.Cos(rot_angle_rad)) + rotation_pt.Y; 134 | 135 | gr0.FillEllipse(gvariables.pen_points.Brush, gfunctions.get_ellipse_rectangle(new PointF((float)rot_x, (float)rot_y), gvariables.radius_points)); 136 | } 137 | 138 | public void paint_temp_point_during_mirror(Graphics gr0, PointF rotation_pt, double rot_angle_rad) 139 | { 140 | // Paint the points while being mirrored (to give user the idea how the points will be after mirroring) 141 | double temp_x = x - rotation_pt.X; 142 | double temp_y = y - rotation_pt.Y; 143 | double rot_x = (temp_x * Math.Cos(2 * rot_angle_rad) + temp_y * Math.Sin(2 * rot_angle_rad)) + rotation_pt.X; 144 | double rot_y = (temp_x * Math.Sin(2 * rot_angle_rad) - temp_y * Math.Cos(2 * rot_angle_rad)) + rotation_pt.Y; 145 | 146 | gr0.FillEllipse(gvariables.pen_points.Brush, gfunctions.get_ellipse_rectangle(new PointF((float)rot_x, (float)rot_y), gvariables.radius_points)); 147 | } 148 | 149 | public bool check_point_snap(points_store the_pt) 150 | { 151 | if (gvariables.Is_xysnap == false) 152 | return false; 153 | 154 | // Check whether the point is snaping to xy point 155 | // node lies on x 156 | if (((the_pt.x + gvariables.xysnap_intensity) > this._x && (the_pt.x - gvariables.xysnap_intensity) < this._x) == false) 157 | { 158 | return false; 159 | } 160 | 161 | // node lies on y 162 | if (((the_pt.y + gvariables.xysnap_intensity) > this._y && (the_pt.y - gvariables.xysnap_intensity) < this._y) == false) 163 | { 164 | return false; 165 | } 166 | 167 | return true; 168 | } 169 | 170 | public bool check_point_v_snap(points_store the_pt) 171 | { 172 | if (gvariables.Is_hvsnap == false) 173 | return false; 174 | 175 | // check whether the point aligns in vertical direction 176 | if (((the_pt.x + gvariables.xysnap_intensity) > this._x && (the_pt.x - gvariables.xysnap_intensity) < this._x) == false) 177 | { 178 | return false; 179 | } 180 | return true; 181 | } 182 | 183 | public bool check_point_h_snap(points_store the_pt) 184 | { 185 | if (gvariables.Is_hvsnap == false) 186 | return false; 187 | 188 | // check whether the point aligns in horizontal direction 189 | if (((the_pt.y + gvariables.hvsnap_intensity) > this._y && (the_pt.y - gvariables.hvsnap_intensity) < this._y) == false) 190 | { 191 | return false; 192 | } 193 | return true; 194 | } 195 | 196 | public override bool Equals(object obj) 197 | { 198 | return Equals(obj as points_store); 199 | } 200 | 201 | public bool Equals(points_store other_pt) 202 | { 203 | if (this._nd_id == other_pt.nd_id) 204 | { 205 | return true; 206 | } 207 | return false; 208 | } 209 | 210 | public bool Equals(int other_pt_id) 211 | { 212 | // check whether a point with same id exists (overload 1) 213 | if (this._nd_id == other_pt_id) 214 | { 215 | return true; 216 | } 217 | return false; 218 | } 219 | 220 | public override int GetHashCode() 221 | { 222 | return HashCode.Combine(nd_id); 223 | } 224 | } 225 | 226 | 227 | // Custom comparer for the lines_store class 228 | class PointsComparer : IEqualityComparer 229 | { 230 | // lines are equal if their line_ids are equal or both lines have same point id (either direction). 231 | public bool Equals(points_store first_point, points_store second_point) 232 | { 233 | 234 | //Check whether the compared objects reference the same data. 235 | if (Object.ReferenceEquals(first_point, second_point)) return true; 236 | 237 | //Check whether any of the compared objects is null. 238 | if (Object.ReferenceEquals(first_point, null) || Object.ReferenceEquals(second_point, null)) 239 | return false; 240 | 241 | //Check whether the lines are equal. 242 | return first_point.Equals(second_point); 243 | } 244 | 245 | // If Equals() returns true for a pair of objects 246 | // then GetHashCode() must return the same value for these objects. 247 | 248 | public int GetHashCode(points_store other_point) 249 | { 250 | //Check whether the object is null 251 | if (Object.ReferenceEquals(other_point, null)) return 0; 252 | 253 | //Calculate the hash code for the product. 254 | return other_point.GetHashCode(); 255 | } 256 | } 257 | 258 | 259 | 260 | } 261 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/geometry_store/surface_helper_class/clipper_polypts_store.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.Drawing_area; 9 | using varai2d_surface.global_static; 10 | 11 | namespace varai2d_surface.Geometry_class.geometry_store.surface_helper_class 12 | { 13 | public class clipper_polypts_store 14 | { 15 | // Saved as int just in case if there is an error in precision messing up the comparison 16 | // signed integer size -2,147,483,648 to 2,147,483,647 17 | int _pt_id; 18 | int _x_int; 19 | int _y_int; 20 | double _x; 21 | double _y; 22 | 23 | public int p_id { get { return this._pt_id; } } 24 | 25 | public double x { get { return this._x; } } 26 | 27 | public double y { get { return this._y; } } 28 | 29 | public int x_int { get { return this._x_int; } } 30 | 31 | public int y_int { get { return this._y_int; } } 32 | 33 | public PointF get_pt { get { return new PointF((float)this._x, (float)this._y); } } 34 | 35 | public clipper_polypts_store(int id, double tx, double ty) 36 | { 37 | this._pt_id = id; 38 | // Main data 39 | this._x = tx; 40 | this._y = ty; 41 | 42 | // Store as integer for quick check 43 | this._x_int = (int)(Math.Round(tx, 6) * 100000); 44 | this._y_int = (int)(Math.Round(ty, 6) * 100000); 45 | } 46 | 47 | public override bool Equals(object obj) 48 | { 49 | return Equals(obj as clipper_polypts_store); 50 | } 51 | 52 | public bool Equals(clipper_polypts_store other_pt) 53 | { 54 | if ((this._x_int == other_pt._x_int) && (this._y_int == other_pt._y_int)) 55 | { 56 | return true; 57 | } 58 | return false; 59 | } 60 | 61 | public override int GetHashCode() 62 | { 63 | return HashCode.Combine(this._x_int, this._y_int); 64 | } 65 | 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/geometry_store/surface_helper_class/clipper_surface_store.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.Drawing_area; 9 | using varai2d_surface.global_static; 10 | 11 | namespace varai2d_surface.Geometry_class.geometry_store.surface_helper_class 12 | { 13 | public class clipper_surface_store 14 | { 15 | private int _surf_id; 16 | private HashSet _closed_loop_bndry_id = new HashSet(); 17 | private HashSet _closed_loop_pt_id = new HashSet(); 18 | private List _polygon_loop_pts = new List(); 19 | private Region _clipper_surf_region = new Region(); 20 | //private HashSet _nested_surf_id = new HashSet(); 21 | //private HashSet _the_nested_surfaces = new HashSet(); 22 | // private GraphicsPath _closed_surf_boundary_path = new GraphicsPath(); 23 | 24 | private double _this_poly_area; 25 | // private double _nested_poly_area; 26 | 27 | private int _this_nested_to = -1; 28 | 29 | public int surf_id { get { return this._surf_id; } } 30 | 31 | public HashSet closed_loop_bndry_id { get { return this._closed_loop_bndry_id; } } 32 | 33 | public HashSet closed_loop_pt_id { get { return this._closed_loop_pt_id; } } 34 | 35 | public List polygon_loop_pts { get { return this._polygon_loop_pts; } } 36 | 37 | public Region clipper_surf_region { get { return this._clipper_surf_region; } } 38 | 39 | // public HashSet nested_surf_id { get { return null; } }// Not used 40 | 41 | public List get_polygon_pts 42 | { 43 | get 44 | { 45 | List pts = new List(); 46 | foreach (clipper_polypts_store temp_p in this._polygon_loop_pts) 47 | { 48 | pts.Add(temp_p.get_pt); 49 | } 50 | return pts; 51 | } 52 | } 53 | 54 | public int this_nested_to { get { return this._this_nested_to; } } 55 | 56 | public double poly_area { get { return (this._this_poly_area); } } 57 | 58 | // public double poly_nested_area { get { return (this._nested_poly_area); } } 59 | 60 | public clipper_surface_store(int t_surf_id, HashSet t_closed_loop_bndry_id, HashSet t_closed_loop_pt_id, List t_ply_pts, bool is_oriented) 61 | { 62 | this._surf_id = t_surf_id; 63 | if (is_oriented == true) 64 | { 65 | // the points are already oriented 66 | // Add closed loop boundary 67 | this._closed_loop_bndry_id = new HashSet(t_closed_loop_bndry_id); 68 | // Add closed loop point id 69 | this._closed_loop_pt_id = new HashSet(t_closed_loop_pt_id); 70 | // Add all the polygon points 71 | this._polygon_loop_pts = new List(t_ply_pts); 72 | } 73 | else 74 | { 75 | if (polygon_area(t_ply_pts) > 0) 76 | { 77 | // Add closed loop boundary 78 | this._closed_loop_bndry_id = new HashSet(t_closed_loop_bndry_id); 79 | // Add closed loop point id 80 | this._closed_loop_pt_id = new HashSet(t_closed_loop_pt_id); 81 | // Add all the polygon points 82 | this._polygon_loop_pts = new List(t_ply_pts); 83 | } 84 | else 85 | { 86 | // Add closed loop boundary 87 | this._closed_loop_bndry_id = new HashSet(t_closed_loop_bndry_id.Reverse()); 88 | // Add closed loop point id 89 | this._closed_loop_pt_id = new HashSet(t_closed_loop_pt_id.Reverse()); 90 | // Add all the polygon points 91 | this._polygon_loop_pts = new List(Enumerable.Reverse(t_ply_pts)); 92 | } 93 | } 94 | 95 | this._this_poly_area = Math.Abs(polygon_area(t_ply_pts)); 96 | 97 | GraphicsPath temp_gpath = new GraphicsPath(); 98 | PointF[] temp_all_pts = this.get_polygon_pts.ToArray(); 99 | temp_gpath.AddLines(temp_all_pts); 100 | temp_gpath.AddLine(temp_all_pts[temp_all_pts.Length - 1], temp_all_pts[0]); 101 | // Set the region 102 | this._clipper_surf_region = new Region(temp_gpath); 103 | 104 | this._this_nested_to = -1; 105 | } 106 | 107 | private double polygon_area(List t_ply_pts) 108 | { 109 | double area2 = 0.0; 110 | for (int i = 0; i < (t_ply_pts.Count - 1); i++) 111 | { 112 | area2 = area2 + ((t_ply_pts[i].x * t_ply_pts[i + 1].y) - (t_ply_pts[i + 1].x * t_ply_pts[i].y)); 113 | } 114 | area2 = area2 + ((t_ply_pts[t_ply_pts.Count - 1].x * t_ply_pts[0].y) - (t_ply_pts[0].x * t_ply_pts[t_ply_pts.Count - 1].y)); 115 | 116 | return (area2 * 0.5f); 117 | } 118 | 119 | public void set_nest_this_surface(HashSet other_surfaces) 120 | { 121 | if (this._this_nested_to != -1) 122 | return; 123 | 124 | foreach (clipper_surface_store surf in other_surfaces) 125 | { 126 | // Create a region with this surface 127 | GraphicsPath temp_gpath = new GraphicsPath(); 128 | temp_gpath.AddLines(surf.get_polygon_pts.ToArray()); 129 | temp_gpath.AddLine(surf.get_polygon_pts[surf.get_polygon_pts.Count - 1], surf.get_polygon_pts[0]); 130 | temp_gpath.FillMode = FillMode.Winding; 131 | 132 | Region temp_reg = new Region(temp_gpath); 133 | bool is_inside = true; 134 | 135 | foreach (PointF pt in this.get_polygon_pts) 136 | { 137 | // test if the point is inside the region 138 | if (temp_reg.IsVisible(pt) == false) 139 | { 140 | // Check whether the point is in the boundary 141 | if (temp_gpath.IsOutlineVisible(pt, new Pen(Brushes.Black, gvariables.linewidth_curves + 4)) == false) 142 | { 143 | is_inside = false; 144 | break; 145 | } 146 | } 147 | } 148 | 149 | if (is_inside == true) 150 | { 151 | // all the points of this surface is inside th region 152 | this._this_nested_to = surf.surf_id; 153 | return; 154 | } 155 | } 156 | } 157 | 158 | //public bool is_point_inside_outter_boundary(PointF pt) 159 | //{ 160 | // if (this._clipper_surf_region.IsVisible(pt) ==) 161 | 162 | //} 163 | 164 | 165 | public void set_nested_polygon(HashSet other_surf_list) 166 | { 167 | //// Check whether polygon 168 | //List this_poly_pts = new List(this.get_polygon_pts); 169 | //this._nested_surf_id.Clear(); 170 | //this._the_nested_surfaces.Clear(); 171 | //double nested_surf_area = 0.0; 172 | 173 | //foreach (clipper_surface_store other_surf in other_surf_list) 174 | //{ 175 | // if (other_surf.this_nested_to == this.surf_id) 176 | // { 177 | // this.nested_surf_id.Add(other_surf.surf_id); 178 | // this._the_nested_surfaces.Add(other_surf); 179 | 180 | // // Must include nested surfaces's nested area as well 181 | // nested_surf_area = (other_surf.poly_area + other_surf.poly_nested_area); 182 | // } 183 | //} 184 | 185 | //// Return the nested area 186 | //this._nested_poly_area = nested_surf_area; 187 | } 188 | 189 | 190 | private bool winding_number_algorithm(PointF pt, List loop_pts) 191 | { 192 | int wn = 0; // the winding number counter 193 | 194 | // loop through all edges of the polygon 195 | for (int i = 0; i < (loop_pts.Count - 1); i++) 196 | { // edge from V[i] to V[i+1] 197 | if (loop_pts[i].Y <= pt.Y) 198 | { // start y <= P.y 199 | if (loop_pts[i + 1].Y > pt.Y) // an upward crossing 200 | { 201 | if (isLeft(loop_pts[i], loop_pts[i + 1], pt) > 0) // P left of edge 202 | { 203 | wn++; // have a valid up intersect 204 | } 205 | } 206 | } 207 | else 208 | { // start y > P.y (no test needed) 209 | if (loop_pts[i + 1].Y <= pt.Y) // a downward crossing 210 | { 211 | if (isLeft(loop_pts[i], loop_pts[i + 1], pt) < 0) // P right of edge 212 | { 213 | wn--; // have a valid down intersect 214 | } 215 | } 216 | } 217 | } 218 | 219 | if (wn != 0) 220 | { 221 | return true; 222 | } 223 | return false; 224 | } 225 | 226 | private int isLeft(PointF p0, PointF p1, PointF pt) 227 | { 228 | return (int)((p1.X - p0.X) * (pt.Y - p0.Y) - 229 | (pt.X - p0.X) * (p1.Y - p0.Y)); 230 | } 231 | 232 | 233 | } 234 | 235 | 236 | class clipper_surface_Comparer : IComparer 237 | { 238 | public int Compare(clipper_surface_store first_surface, clipper_surface_store second_surface) 239 | { 240 | // Compare Areas and sort by area 241 | if (first_surface.poly_area < second_surface.poly_area) 242 | { 243 | return -1; 244 | } 245 | else if (first_surface.poly_area > second_surface.poly_area) 246 | { 247 | return 1; 248 | } 249 | return 0; 250 | } 251 | } 252 | } 253 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/history_class.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | using varai2d_surface.Geometry_class.geometry_store; 10 | using varai2d_surface.Geometry_class.add_operation; 11 | 12 | namespace varai2d_surface.Geometry_class 13 | { 14 | [Serializable] 15 | public class history_class 16 | { 17 | private HashSet _U_lines = new HashSet(); 18 | private HashSet _U_arcs = new HashSet(); 19 | private HashSet _U_beziers = new HashSet(); 20 | private HashSet _U_end_pts = new HashSet(); 21 | private HashSet _U_surfaces = new HashSet(); 22 | private member_id_control _U_id_control = new member_id_control(); 23 | 24 | private geom_class _geom_obj; 25 | private double _zoom_value; 26 | private double _scale_value; 27 | private PointF _transl_center; 28 | 29 | public geom_class geom_obj { get { return this._geom_obj; } } 30 | 31 | public double zoom_value { get { return this._zoom_value; } } 32 | 33 | public double scale_value { get { return this._scale_value; } } 34 | 35 | public PointF transl_center { get { return this._transl_center; } } 36 | 37 | 38 | public history_class(geom_class t_geom_obj, double t_zoom_value, double t_scale_value, PointF t_transl_center) 39 | { 40 | // Main constructor to store the history of operations 41 | // Add lines, arcs, beziers, points and id control data to the lists 42 | // Lines 43 | this._U_lines = new HashSet(); 44 | this._U_lines.UnionWith(t_geom_obj.all_lines); 45 | 46 | // Arcs 47 | this._U_arcs = new HashSet(); 48 | this._U_arcs.UnionWith(t_geom_obj.all_arcs); 49 | 50 | // Beziers 51 | this._U_beziers = new HashSet(); 52 | this._U_beziers.UnionWith(t_geom_obj.all_beziers); 53 | 54 | // End points 55 | this._U_end_pts = new HashSet(); 56 | this._U_end_pts.UnionWith(t_geom_obj.all_end_pts); 57 | 58 | // ID control 59 | this._U_id_control = new member_id_control(t_geom_obj.id_control.point_id, 60 | t_geom_obj.id_control.line_id, 61 | t_geom_obj.id_control.arc_id, 62 | t_geom_obj.id_control.bezier_id, 63 | t_geom_obj.id_control.member_id0); 64 | 65 | this._geom_obj = new geom_class(this._U_lines, 66 | this._U_arcs, 67 | this._U_beziers, 68 | this._U_end_pts, 69 | this._U_surfaces, 70 | this._U_id_control); 71 | 72 | // Save the current graphics state 73 | this._zoom_value = t_zoom_value; 74 | this._scale_value = t_scale_value; 75 | this._transl_center =t_transl_center; 76 | } 77 | 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/modify_operation/delete_operation_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using varai2d_surface.Geometry_class.geometry_store; 7 | 8 | namespace varai2d_surface.Geometry_class.modify_operation 9 | { 10 | public class delete_operation_control 11 | { 12 | private workarea_control wkc_obj; 13 | 14 | public void delete_member(workarea_control wkc_j) 15 | { 16 | this.wkc_obj = wkc_j; 17 | 18 | // Delete member 19 | // Delete Lines 20 | delete_lines(this.wkc_obj.interim_obj.selected_lines); 21 | // Delter Arcs 22 | delete_arcs(this.wkc_obj.interim_obj.selected_arcs); 23 | // Delete Beziers 24 | delete_beziers(this.wkc_obj.interim_obj.selected_beziers); 25 | 26 | // Remove disassociated points (a.ka. free points) 27 | delete_points(); 28 | 29 | // complete operation 30 | this.wkc_obj.cancel_operation(); 31 | } 32 | 33 | public void delete_lines(HashSet r_lines) 34 | { 35 | this.wkc_obj.geom_obj.remove_lines(r_lines); 36 | } 37 | 38 | public void delete_arcs(HashSet r_arcs) 39 | { 40 | this.wkc_obj.geom_obj.remove_arcs(r_arcs); 41 | } 42 | 43 | public void delete_beziers(HashSet r_beziers) 44 | { 45 | this.wkc_obj.geom_obj.remove_beziers(r_beziers); 46 | } 47 | 48 | private void delete_points() 49 | { 50 | HashSet all_points_associated_with_member = new HashSet(); 51 | 52 | // All points associated with lines 53 | foreach (lines_store lines in this.wkc_obj.geom_obj.all_lines) 54 | { 55 | all_points_associated_with_member.Add(this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(lines.pt_end_id))); 56 | all_points_associated_with_member.Add(this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(lines.pt_start_id))); 57 | } 58 | 59 | // All points associated with arcs 60 | foreach (arcs_store arcs in this.wkc_obj.geom_obj.all_arcs) 61 | { 62 | all_points_associated_with_member.Add(this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(arcs.pt_chord_end_id))); 63 | all_points_associated_with_member.Add(this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(arcs.pt_chord_start_id))); 64 | } 65 | 66 | // All points associated with beziers 67 | foreach (beziers_store bz in this.wkc_obj.geom_obj.all_beziers) 68 | { 69 | all_points_associated_with_member.Add(this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(bz.pt_bz_start_id))); 70 | all_points_associated_with_member.Add(this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(bz.pt_bz_end_id))); 71 | } 72 | 73 | IEnumerable free_points_e = this.wkc_obj.interim_obj.selected_points.Except(all_points_associated_with_member); 74 | // Delete points 75 | this.wkc_obj.geom_obj.remove_points(free_points_e.ToHashSet()); 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/modify_operation/modify_member_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace varai2d_surface.Geometry_class.modify_operation 8 | { 9 | [Serializable] 10 | public class modify_member_control 11 | { 12 | public void modify_member(int c_state,workarea_control wkc) 13 | { 14 | // Save the state 15 | if (c_state > 5 && c_state < 12) 16 | { 17 | // Save the state before the modification 18 | wkc.save_state(); 19 | } 20 | 21 | // Processing Modify member 22 | switch (c_state) 23 | { 24 | case 6: 25 | { 26 | // Translate modification 27 | (new modify_translation_control()).modify_translation(wkc); 28 | break; 29 | } 30 | case 7: 31 | { 32 | // Rotate modification 33 | (new modify_rotation_control()).modify_rotation(wkc); 34 | break; 35 | } 36 | case 8: 37 | { 38 | // Mirror modification 39 | (new modify_mirror_control()).modify_mirror(wkc); 40 | break; 41 | } 42 | case 9: 43 | { 44 | // Delete operation 45 | (new delete_operation_control()).delete_member(wkc); 46 | break; 47 | } 48 | case 10: 49 | { 50 | // Intersect operation 51 | (new modify_intersect_control()).intersect_member(wkc); 52 | break; 53 | } 54 | case 11: 55 | { 56 | // Split operation 57 | (new modify_split_control()).split_member(wkc); 58 | break; 59 | } 60 | } 61 | } 62 | 63 | 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/modify_operation/modify_translation_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | using varai2d_surface.Geometry_class.geometry_store; 10 | using varai2d_surface.Drawing_area; 11 | using System.Windows.Forms; 12 | 13 | namespace varai2d_surface.Geometry_class.modify_operation 14 | { 15 | public class modify_translation_control 16 | { 17 | private workarea_control wkc_obj; 18 | 19 | // Points 20 | List interim_click_pts; 21 | 22 | int selected_line_count = 0; 23 | int selected_arc_count = 0; 24 | int selected_bezier_count = 0; 25 | 26 | List bezier_type; 27 | 28 | public void modify_translation(workarea_control wkc_j) 29 | { 30 | this.wkc_obj = wkc_j; 31 | bool duplicate_transformation = gvariables.Is_duplicate; 32 | 33 | // Translation distance 34 | double tx = this.wkc_obj.interim_obj.click_pts[1].x - this.wkc_obj.interim_obj.click_pts[0].x; 35 | double ty = this.wkc_obj.interim_obj.click_pts[1].y - this.wkc_obj.interim_obj.click_pts[0].y; 36 | 37 | // Points, Length and angle 38 | this.interim_click_pts = new List(); // [0,1], [2,3], [4,5] ... 39 | 40 | this.selected_line_count = 0; 41 | this.selected_arc_count = 0; 42 | this.selected_bezier_count = 0; 43 | 44 | // Set Translate lines 45 | if (this.wkc_obj.interim_obj.selected_lines.Count > 0) 46 | { 47 | set_translation_of_lines(tx, ty); 48 | } 49 | 50 | // Set Translate arcs 51 | if (this.wkc_obj.interim_obj.selected_arcs.Count > 0) 52 | { 53 | set_translation_of_arcs(tx, ty); 54 | } 55 | 56 | // Set Translate bezier 57 | if (this.wkc_obj.interim_obj.selected_beziers.Count > 0) 58 | { 59 | set_translation_of_beziers(tx, ty); 60 | } 61 | 62 | // Delete member (if duplicate is not true) 63 | if (duplicate_transformation == false && (this.wkc_obj.interim_obj.selected_lines.Count > 0 || 64 | this.wkc_obj.interim_obj.selected_arcs.Count > 0 || 65 | this.wkc_obj.interim_obj.selected_beziers.Count > 0)) 66 | { 67 | // Remove disassociated points 68 | (new delete_operation_control()).delete_member(this.wkc_obj); 69 | } 70 | 71 | // Apply Translate lines 72 | if (this.selected_line_count > 0) 73 | { 74 | apply_translation_of_lines(); 75 | } 76 | 77 | // Apply Translate arcs 78 | if (this.selected_arc_count > 0) 79 | { 80 | apply_translation_of_arcs(); 81 | } 82 | 83 | // Apply Translate beziers 84 | if (this.selected_bezier_count > 0) 85 | { 86 | apply_translation_of_beziers(); 87 | } 88 | } 89 | 90 | private void set_translation_of_lines(double tx, double ty) 91 | { 92 | // Set the translation to click points 93 | // Points list order [0,1], [2,3], [4,5] ... 94 | this.selected_line_count = 0; 95 | 96 | foreach (lines_store selected_line in this.wkc_obj.interim_obj.selected_lines) 97 | { 98 | points_store s_pt = this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(selected_line.pt_start_id)); 99 | points_store e_pt = this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(selected_line.pt_end_id)); 100 | 101 | // Apply the translation 102 | s_pt = new points_store(selected_line.pt_start_id, (s_pt.x + tx), (s_pt.y + ty)); 103 | e_pt = new points_store(selected_line.pt_end_id, (e_pt.x + tx), (e_pt.y + ty)); 104 | 105 | // Start and end point 106 | interim_click_pts.Add(s_pt.get_point); // 0, 2, 4, ... 107 | interim_click_pts.Add(e_pt.get_point); // 1, 3, 5, ... 108 | 109 | this.selected_line_count++; 110 | } 111 | 112 | } 113 | 114 | private void apply_translation_of_lines() 115 | { 116 | // Translate the member 117 | for (int i = 0; i < this.selected_line_count; i++) 118 | { 119 | int member_id = this.wkc_obj.geom_obj.id_control.get_member_id(); 120 | this.wkc_obj.snap_obj.clear_temp_point(); // clear temp points to get the current node 121 | 122 | points_store s_pt = this.wkc_obj.snap_obj.get_snap_point(interim_click_pts[i * 2], this.wkc_obj.geom_obj); 123 | points_store e_pt = this.wkc_obj.snap_obj.get_snap_point(interim_click_pts[(i * 2) + 1], this.wkc_obj.geom_obj); 124 | 125 | // Add line 126 | this.wkc_obj.geom_obj.add_line(member_id, s_pt, e_pt); 127 | } 128 | } 129 | 130 | private void set_translation_of_arcs(double tx, double ty) 131 | { 132 | // Set the translation to click points 133 | // Points list order [0,1,2,3], [4,5,6,7], [8,9,10,11] ... 134 | this.selected_arc_count = 0; 135 | 136 | foreach (arcs_store selected_arc in this.wkc_obj.interim_obj.selected_arcs) 137 | { 138 | points_store chord_s_pt = this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(selected_arc.pt_chord_start_id)); 139 | points_store chord_e_pt = this.wkc_obj.geom_obj.all_end_pts.Last(obj => obj.Equals(selected_arc.pt_chord_end_id)); 140 | 141 | // Apply the translation 142 | chord_s_pt = new points_store(selected_arc.pt_chord_start_id, (chord_s_pt.x + tx), (chord_s_pt.y + ty)); 143 | chord_e_pt = new points_store(selected_arc.pt_chord_end_id, (chord_e_pt.x + tx), (chord_e_pt.y + ty)); 144 | 145 | PointF arc_cntrl_pt = new PointF((float)(selected_arc.cntrl_pt_on_arc.X + tx), (float)(selected_arc.cntrl_pt_on_arc.Y + ty)); 146 | PointF arc_center_pt = new PointF((float)(selected_arc.arc_center_pt.X + tx), (float)(selected_arc.arc_center_pt.Y + ty)); 147 | 148 | // Chord start and end point 149 | interim_click_pts.Add(chord_s_pt.get_point); // 0, 4, 8, ... 150 | interim_click_pts.Add(chord_e_pt.get_point); // 1, 5, 9, ... 151 | interim_click_pts.Add(arc_cntrl_pt); // 2, 6, 10, ... 152 | interim_click_pts.Add(arc_center_pt); // 3, 7, 11, ... 153 | 154 | this.selected_arc_count++; 155 | } 156 | 157 | } 158 | 159 | private void apply_translation_of_arcs() 160 | { 161 | int click_index_shift = this.selected_line_count * 2; 162 | 163 | // Translate the member 164 | for (int i = 0; i < this.selected_arc_count; i++) 165 | { 166 | int member_id = this.wkc_obj.geom_obj.id_control.get_member_id(); 167 | this.wkc_obj.snap_obj.clear_temp_point(); // clear temp points to get the current node 168 | 169 | points_store s_pt = this.wkc_obj.snap_obj.get_snap_point(interim_click_pts[click_index_shift + (i * 4)], this.wkc_obj.geom_obj); 170 | points_store e_pt = this.wkc_obj.snap_obj.get_snap_point(interim_click_pts[click_index_shift + ((i * 4) + 1)], this.wkc_obj.geom_obj); 171 | 172 | // Add line 173 | this.wkc_obj.geom_obj.add_arc(member_id, s_pt, e_pt, 174 | interim_click_pts[click_index_shift + ((i * 4) + 2)], interim_click_pts[click_index_shift + ((i * 4) + 3)]); 175 | } 176 | } 177 | 178 | private void set_translation_of_beziers(double tx, double ty) 179 | { 180 | // Set the translation to click points 181 | // Points list order [0,1], [2,3], [4,5] ... 182 | this.selected_bezier_count = 0; 183 | bezier_type = new List(); 184 | 185 | foreach (beziers_store selected_bezier in this.wkc_obj.interim_obj.selected_beziers) 186 | { 187 | bezier_type.Add(selected_bezier.poly_count); 188 | for (int i = 0; i < selected_bezier.bezier_cntrl_pts.Count; i++) 189 | { 190 | PointF e_pt = new PointF((float)(selected_bezier.bezier_cntrl_pts[i].X + tx), 191 | (float)(selected_bezier.bezier_cntrl_pts[i].Y + ty)); 192 | 193 | // Start and end point 194 | interim_click_pts.Add(e_pt); // 1, 2, 3, ... 195 | } 196 | 197 | this.selected_bezier_count++; 198 | } 199 | } 200 | 201 | private void apply_translation_of_beziers() 202 | { 203 | int click_index_shift = (this.selected_line_count * 2) + (this.selected_arc_count * 4); 204 | int cindex_offset = 0; 205 | 206 | // Translate the member 207 | for (int i = 0; i < this.selected_bezier_count; i++) 208 | { 209 | int member_id = this.wkc_obj.geom_obj.id_control.get_member_id(); 210 | this.wkc_obj.snap_obj.clear_temp_point(); // clear temp points to get the current node 211 | 212 | points_store s_pt = this.wkc_obj.snap_obj.get_snap_point(interim_click_pts[click_index_shift + cindex_offset], this.wkc_obj.geom_obj); 213 | points_store e_pt = this.wkc_obj.snap_obj.get_snap_point(interim_click_pts[click_index_shift + cindex_offset + (bezier_type[i] - 1)], this.wkc_obj.geom_obj); 214 | 215 | List cntrl_pts = new List(); 216 | for (int j =0; j < bezier_type[i]; j++) 217 | { 218 | cntrl_pts.Add(interim_click_pts[click_index_shift + cindex_offset + j]); 219 | } 220 | cindex_offset = cindex_offset + bezier_type[i]; 221 | 222 | // Add bezier 223 | this.wkc_obj.geom_obj.add_bezier(member_id, bezier_type[i], s_pt, e_pt, cntrl_pts); 224 | } 225 | } 226 | } 227 | } 228 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Geometry_class/workarea_control.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | using varai2d_surface.global_static; 9 | using varai2d_surface.Drawing_area; 10 | using varai2d_surface.Geometry_class.modify_operation; 11 | using varai2d_surface.Geometry_class.add_operation; 12 | using varai2d_surface.Geometry_class.geometry_store; 13 | using System.Windows.Forms; 14 | 15 | namespace varai2d_surface.Geometry_class 16 | { 17 | [Serializable] 18 | public class workarea_control 19 | { 20 | private List _histU = new List(); 21 | private List _histR = new List(); 22 | private geom_class _geom_obj; 23 | private snap_predicate _snap_obj; 24 | private interim_geom_class _interim_obj; 25 | private modify_member_control _modify_obj; 26 | private add_member_control _add_obj; 27 | 28 | private int _actions_count; 29 | 30 | public int actions_count { get { return this._actions_count; } } 31 | 32 | public geom_class geom_obj { get { return this._geom_obj; } set { this._geom_obj = value; } } 33 | 34 | public snap_predicate snap_obj { get { return this._snap_obj; } set { this._snap_obj = value; } } 35 | 36 | public interim_geom_class interim_obj { get { return this._interim_obj; } set { this._interim_obj = value; } } 37 | 38 | public int undo_operation_count { get { return this._histU.Count; } } 39 | 40 | public int redo_operation_count { get { return this._histR.Count; } } 41 | 42 | public workarea_control() 43 | { 44 | // Main constructor 45 | this._actions_count = 0; 46 | 47 | // Initialize all items 48 | this._geom_obj = new geom_class(); 49 | this._snap_obj = new snap_predicate(); 50 | this._interim_obj = new interim_geom_class(); 51 | this._modify_obj = new modify_member_control(); 52 | this._add_obj = new add_member_control(); 53 | } 54 | 55 | public void cntrl_Z() 56 | { 57 | // Undo operation cntrl + Z 58 | if (this._histU.Count != 0) 59 | { 60 | this._histR.Add(new history_class(this._geom_obj, gvariables.zoom_factor, gvariables.scale_factor, gvariables.mainpic_center)); 61 | 62 | this._geom_obj = new geom_class(this._histU[this._histU.Count - 1].geom_obj.all_lines, 63 | this._histU[this._histU.Count - 1].geom_obj.all_arcs, 64 | this._histU[this._histU.Count - 1].geom_obj.all_beziers, 65 | this._histU[this._histU.Count - 1].geom_obj.all_end_pts, 66 | this._histU[this._histU.Count -1].geom_obj.all_surfaces, 67 | this._histU[this._histU.Count - 1].geom_obj.id_control); 68 | 69 | // Retrive the previous state 70 | //this._geom_obj = this._histU[this._histU.Count - 1].geom_obj; 71 | gvariables.zoom_factor = this._histU[this._histU.Count - 1].zoom_value; 72 | gvariables.scale_factor = this._histU[this._histU.Count - 1].scale_value; 73 | gvariables.mainpic_center = this._histU[this._histU.Count - 1].transl_center; 74 | 75 | // Remove the Last 76 | this._histU.RemoveAt(this._histU.Count - 1); 77 | } 78 | } 79 | 80 | public void cntrl_R() 81 | { 82 | // Redo operation cntrl + R 83 | if (this._histR.Count != 0) 84 | { 85 | this._histU.Add(new history_class(this._geom_obj, gvariables.zoom_factor, gvariables.scale_factor, gvariables.mainpic_center)); 86 | this._geom_obj = new geom_class(this._histR[this._histR.Count - 1].geom_obj.all_lines, 87 | this._histR[this._histR.Count - 1].geom_obj.all_arcs, 88 | this._histR[this._histR.Count - 1].geom_obj.all_beziers, 89 | this._histR[this._histR.Count - 1].geom_obj.all_end_pts, 90 | this._histR[this._histR.Count - 1].geom_obj.all_surfaces, 91 | this._histR[this._histR.Count - 1].geom_obj.id_control); 92 | 93 | // Retrive the previous state 94 | //this._geom_obj = this._histR[this._histR.Count - 1].geom_obj; 95 | gvariables.zoom_factor = this._histR[this._histR.Count - 1].zoom_value; 96 | gvariables.scale_factor = this._histR[this._histR.Count - 1].scale_value; 97 | gvariables.mainpic_center = this._histR[this._histR.Count - 1].transl_center; 98 | 99 | // Remove the Last 100 | this._histR.RemoveAt(this._histR.Count - 1); 101 | } 102 | } 103 | 104 | public void save_state() 105 | { 106 | // Save the current state of the geometry before performing any add, modify or scale operation 107 | this._histU.Add(new history_class(geom_obj, gvariables.zoom_factor, gvariables.scale_factor, gvariables.mainpic_center)); 108 | 109 | if(_histU.Count>10) 110 | { 111 | // Only 10 instances are saved 112 | this._histU.RemoveAt(0); 113 | } 114 | } 115 | 116 | public bool mouse_click(bool operation_cancel, PointF pt_location) 117 | { 118 | if (operation_cancel == true) 119 | { 120 | // cancel the operation 121 | cancel_operation(); 122 | return false; 123 | } 124 | 125 | // Left Mouse click 126 | Tuple rslt = new Tuple(false, 0); 127 | points_store s_pt = snap_obj.get_snap_point(pt_location, geom_obj); 128 | rslt = this._interim_obj.update_click_pts(s_pt); 129 | 130 | if (rslt.Item1 != false) 131 | { 132 | if (rslt.Item2 > 0 && rslt.Item2 < 6) 133 | { 134 | // Process Addition 135 | this._add_obj.add_member(rslt.Item2, this); 136 | cancel_operation(); 137 | return false; 138 | } 139 | else if (rslt.Item2 > 5 && rslt.Item2 < 9) 140 | { 141 | // Process Modification 142 | this._modify_obj.modify_member(rslt.Item2, this); 143 | cancel_operation(); 144 | return false; 145 | } 146 | else 147 | { 148 | // Selection in progress clear the click points 149 | this._snap_obj.clear_temp_point(); 150 | // continue selection process 151 | return true; 152 | } 153 | } 154 | 155 | // continue operation 156 | return true; 157 | } 158 | 159 | public void button_click(int c_state) 160 | { 161 | if (c_state == 9 || c_state == 10 || c_state == 11) 162 | { 163 | // Delete or Intersect or Split operation 164 | this._modify_obj.modify_member(c_state, this); 165 | } 166 | cancel_operation(); 167 | } 168 | 169 | public void cancel_operation() 170 | { 171 | // Cancel all the operation in progress 172 | this._snap_obj.clear_temp_point(); 173 | this._interim_obj.clear_interim(); 174 | } 175 | 176 | public void scale_to_fit(int main_pic_width, int main_pic_height) 177 | { 178 | // Save the state before scale transform 179 | save_state(); 180 | // Scale transform the geometry to fit the view at zoom factor 1.0f 181 | new scale_transformation(main_pic_width, main_pic_height, this); 182 | 183 | // Pan and zoom to origin 184 | gvariables.mainpic_center = new PointF((main_pic_width * 0.5f), (main_pic_height * 0.5f)); 185 | gvariables.zoom_factor = 1.01f; 186 | 187 | } 188 | 189 | //public void selection_operation_inprogress(bool Is_selection) 190 | //{ 191 | // // Is selection operation in progress 192 | // // this._interim_obj.Is_selection = Is_selection; 193 | //} 194 | 195 | public void select_objects(RectangleF selection_rect, bool Is_shiftselect) 196 | { 197 | // Select completes 198 | this._interim_obj.update_selection_list(selection_rect, geom_obj, Is_shiftselect); 199 | 200 | } 201 | 202 | 203 | } 204 | } 205 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace varai2d_surface 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.SetHighDpiMode(HighDpiMode.SystemAware); 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new main_form()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\saveM.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\Resources\menupic_mirror.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\menupic_addarc2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | 131 | ..\Resources\menupic_addline.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 132 | 133 | 134 | ..\Resources\menupic_options.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 135 | 136 | 137 | ..\Resources\exitM.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 138 | 139 | 140 | ..\Resources\NewM.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 141 | 142 | 143 | ..\Resources\menupic_delete1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 144 | 145 | 146 | ..\Resources\OpenM.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 147 | 148 | 149 | ..\Resources\varai_logo3.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 150 | 151 | 152 | ..\Resources\menupic_deletesurface.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 153 | 154 | 155 | ..\Resources\menupic_addsurface.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 156 | 157 | 158 | ..\Resources\menupic_file1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 159 | 160 | 161 | ..\Resources\duplicate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 162 | 163 | 164 | ..\Resources\scale_to_fit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 165 | 166 | 167 | ..\Resources\menupic_translate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 168 | 169 | 170 | ..\Resources\menupic_addbezier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 171 | 172 | 173 | ..\Resources\menupic_splitline3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 174 | 175 | 176 | ..\Resources\menupic_select.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 177 | 178 | 179 | ..\Resources\menupic_intersect.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 180 | 181 | 182 | ..\Resources\menupic_addarc1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 183 | 184 | 185 | ..\Resources\menupic_rotate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 186 | 187 | 188 | ..\Resources\menupic_addcircle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 189 | 190 | 191 | ..\Resources\export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 192 | 193 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace varai2d_surface.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | 26 | [global::System.Configuration.UserScopedSettingAttribute()] 27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 28 | [global::System.Configuration.DefaultSettingValueAttribute("White")] 29 | public global::System.Drawing.Color Sett_mainpic { 30 | get { 31 | return ((global::System.Drawing.Color)(this["Sett_mainpic"])); 32 | } 33 | set { 34 | this["Sett_mainpic"] = value; 35 | } 36 | } 37 | 38 | [global::System.Configuration.UserScopedSettingAttribute()] 39 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 40 | [global::System.Configuration.DefaultSettingValueAttribute("BlueViolet")] 41 | public global::System.Drawing.Color Sett_member_clr { 42 | get { 43 | return ((global::System.Drawing.Color)(this["Sett_member_clr"])); 44 | } 45 | set { 46 | this["Sett_member_clr"] = value; 47 | } 48 | } 49 | 50 | [global::System.Configuration.UserScopedSettingAttribute()] 51 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 52 | [global::System.Configuration.DefaultSettingValueAttribute("DarkRed")] 53 | public global::System.Drawing.Color Sett_point_clr { 54 | get { 55 | return ((global::System.Drawing.Color)(this["Sett_point_clr"])); 56 | } 57 | set { 58 | this["Sett_point_clr"] = value; 59 | } 60 | } 61 | 62 | [global::System.Configuration.UserScopedSettingAttribute()] 63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 64 | [global::System.Configuration.DefaultSettingValueAttribute("DarkOrange")] 65 | public global::System.Drawing.Color Sett_snapline_clr { 66 | get { 67 | return ((global::System.Drawing.Color)(this["Sett_snapline_clr"])); 68 | } 69 | set { 70 | this["Sett_snapline_clr"] = value; 71 | } 72 | } 73 | 74 | [global::System.Configuration.UserScopedSettingAttribute()] 75 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 76 | [global::System.Configuration.DefaultSettingValueAttribute("DarkSeaGreen")] 77 | public global::System.Drawing.Color Sett_stringfore_clr { 78 | get { 79 | return ((global::System.Drawing.Color)(this["Sett_stringfore_clr"])); 80 | } 81 | set { 82 | this["Sett_stringfore_clr"] = value; 83 | } 84 | } 85 | 86 | [global::System.Configuration.UserScopedSettingAttribute()] 87 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 88 | [global::System.Configuration.DefaultSettingValueAttribute("3")] 89 | public int Sett_member_width { 90 | get { 91 | return ((int)(this["Sett_member_width"])); 92 | } 93 | set { 94 | this["Sett_member_width"] = value; 95 | } 96 | } 97 | 98 | [global::System.Configuration.UserScopedSettingAttribute()] 99 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 100 | [global::System.Configuration.DefaultSettingValueAttribute("3")] 101 | public int Sett_point_radius { 102 | get { 103 | return ((int)(this["Sett_point_radius"])); 104 | } 105 | set { 106 | this["Sett_point_radius"] = value; 107 | } 108 | } 109 | 110 | [global::System.Configuration.UserScopedSettingAttribute()] 111 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 112 | [global::System.Configuration.DefaultSettingValueAttribute("1")] 113 | public int Sett_snapline_width { 114 | get { 115 | return ((int)(this["Sett_snapline_width"])); 116 | } 117 | set { 118 | this["Sett_snapline_width"] = value; 119 | } 120 | } 121 | 122 | [global::System.Configuration.UserScopedSettingAttribute()] 123 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 124 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 125 | public bool Sett_horiz_vert_snap { 126 | get { 127 | return ((bool)(this["Sett_horiz_vert_snap"])); 128 | } 129 | set { 130 | this["Sett_horiz_vert_snap"] = value; 131 | } 132 | } 133 | 134 | [global::System.Configuration.UserScopedSettingAttribute()] 135 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 136 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 137 | public bool Sett_point_snap { 138 | get { 139 | return ((bool)(this["Sett_point_snap"])); 140 | } 141 | set { 142 | this["Sett_point_snap"] = value; 143 | } 144 | } 145 | 146 | [global::System.Configuration.UserScopedSettingAttribute()] 147 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 148 | [global::System.Configuration.DefaultSettingValueAttribute("2")] 149 | public double Sett_horiz_vert_intensity { 150 | get { 151 | return ((double)(this["Sett_horiz_vert_intensity"])); 152 | } 153 | set { 154 | this["Sett_horiz_vert_intensity"] = value; 155 | } 156 | } 157 | 158 | [global::System.Configuration.UserScopedSettingAttribute()] 159 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 160 | [global::System.Configuration.DefaultSettingValueAttribute("4")] 161 | public double Sett_point_intensity { 162 | get { 163 | return ((double)(this["Sett_point_intensity"])); 164 | } 165 | set { 166 | this["Sett_point_intensity"] = value; 167 | } 168 | } 169 | 170 | [global::System.Configuration.UserScopedSettingAttribute()] 171 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 172 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 173 | public bool Sett_is_paint_pt { 174 | get { 175 | return ((bool)(this["Sett_is_paint_pt"])); 176 | } 177 | set { 178 | this["Sett_is_paint_pt"] = value; 179 | } 180 | } 181 | 182 | [global::System.Configuration.UserScopedSettingAttribute()] 183 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 184 | [global::System.Configuration.DefaultSettingValueAttribute("False")] 185 | public bool Sett_is_paint_ptcoord { 186 | get { 187 | return ((bool)(this["Sett_is_paint_ptcoord"])); 188 | } 189 | set { 190 | this["Sett_is_paint_ptcoord"] = value; 191 | } 192 | } 193 | 194 | [global::System.Configuration.UserScopedSettingAttribute()] 195 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 196 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 197 | public bool Sett_is_paint_ptid { 198 | get { 199 | return ((bool)(this["Sett_is_paint_ptid"])); 200 | } 201 | set { 202 | this["Sett_is_paint_ptid"] = value; 203 | } 204 | } 205 | 206 | [global::System.Configuration.UserScopedSettingAttribute()] 207 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 208 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 209 | public bool Sett_is_paint_memid { 210 | get { 211 | return ((bool)(this["Sett_is_paint_memid"])); 212 | } 213 | set { 214 | this["Sett_is_paint_memid"] = value; 215 | } 216 | } 217 | 218 | [global::System.Configuration.UserScopedSettingAttribute()] 219 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 220 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 221 | public bool Sett_is_paint_memlength { 222 | get { 223 | return ((bool)(this["Sett_is_paint_memlength"])); 224 | } 225 | set { 226 | this["Sett_is_paint_memlength"] = value; 227 | } 228 | } 229 | 230 | [global::System.Configuration.UserScopedSettingAttribute()] 231 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 232 | [global::System.Configuration.DefaultSettingValueAttribute("F3")] 233 | public string Sett_coord_pres { 234 | get { 235 | return ((string)(this["Sett_coord_pres"])); 236 | } 237 | set { 238 | this["Sett_coord_pres"] = value; 239 | } 240 | } 241 | 242 | [global::System.Configuration.UserScopedSettingAttribute()] 243 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 244 | [global::System.Configuration.DefaultSettingValueAttribute("F3")] 245 | public string Sett_length_pres { 246 | get { 247 | return ((string)(this["Sett_length_pres"])); 248 | } 249 | set { 250 | this["Sett_length_pres"] = value; 251 | } 252 | } 253 | 254 | [global::System.Configuration.UserScopedSettingAttribute()] 255 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 256 | [global::System.Configuration.DefaultSettingValueAttribute("True")] 257 | public bool Sett_is_paint_surfid { 258 | get { 259 | return ((bool)(this["Sett_is_paint_surfid"])); 260 | } 261 | set { 262 | this["Sett_is_paint_surfid"] = value; 263 | } 264 | } 265 | 266 | [global::System.Configuration.UserScopedSettingAttribute()] 267 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 268 | [global::System.Configuration.DefaultSettingValueAttribute("10")] 269 | public int Sett_font_size { 270 | get { 271 | return ((int)(this["Sett_font_size"])); 272 | } 273 | set { 274 | this["Sett_font_size"] = value; 275 | } 276 | } 277 | } 278 | } 279 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | White 7 | 8 | 9 | BlueViolet 10 | 11 | 12 | DarkRed 13 | 14 | 15 | DarkOrange 16 | 17 | 18 | DarkSeaGreen 19 | 20 | 21 | 3 22 | 23 | 24 | 3 25 | 26 | 27 | 1 28 | 29 | 30 | True 31 | 32 | 33 | True 34 | 35 | 36 | 2 37 | 38 | 39 | 4 40 | 41 | 42 | True 43 | 44 | 45 | False 46 | 47 | 48 | True 49 | 50 | 51 | True 52 | 53 | 54 | True 55 | 56 | 57 | F3 58 | 59 | 60 | F3 61 | 62 | 63 | True 64 | 65 | 66 | 10 67 | 68 | 69 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/NewM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/NewM.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/OpenM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/OpenM.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/duplicate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/duplicate.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/exitM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/exitM.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/export.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_addarc1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_addarc1.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_addarc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_addarc2.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_addbezier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_addbezier.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_addcircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_addcircle.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_addline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_addline.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_addsurface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_addsurface.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_delete1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_delete1.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_deletesurface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_deletesurface.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_file1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_file1.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_intersect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_intersect.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_mirror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_mirror.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_options.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_rotate.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_select.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_splitline3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_splitline3.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/menupic_translate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/menupic_translate.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/saveM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/saveM.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/scale_to_fit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/scale_to_fit.png -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/Resources/varai_logo3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/Resources/varai_logo3.PNG -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/MathNet.Numerics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/MathNet.Numerics.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/Surface: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/Surface -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/ref/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/ref/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v5.0", 4 | "signature": "" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v5.0": { 9 | "varai2d_surface/1.0.0": { 10 | "dependencies": { 11 | "MathNet.Numerics": "4.15.0" 12 | }, 13 | "runtime": { 14 | "varai2d_surface.dll": {} 15 | } 16 | }, 17 | "MathNet.Numerics/4.15.0": { 18 | "runtime": { 19 | "lib/netstandard2.0/MathNet.Numerics.dll": { 20 | "assemblyVersion": "4.15.0.0", 21 | "fileVersion": "4.15.0.0" 22 | } 23 | } 24 | } 25 | } 26 | }, 27 | "libraries": { 28 | "varai2d_surface/1.0.0": { 29 | "type": "project", 30 | "serviceable": false, 31 | "sha512": "" 32 | }, 33 | "MathNet.Numerics/4.15.0": { 34 | "type": "package", 35 | "serviceable": true, 36 | "sha512": "sha512-cP4QgPPiU7boMyL8npvuQyVGVYUd/JQY1AWa+Wl2f//fuJN40qwt9ABRazunZIcDLHg3SSlgD/e+3Lnp69jNTg==", 37 | "path": "mathnet.numerics/4.15.0", 38 | "hashPath": "mathnet.numerics.4.15.0.nupkg.sha512" 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.exe -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.pdb -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\hfxmsz\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\hfxmsz\\.nuget\\packages", 6 | "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net5.0-windows/varai2d_surface.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net5.0", 4 | "framework": { 5 | "name": "Microsoft.WindowsDesktop.App", 6 | "version": "5.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/MathNet.Numerics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/MathNet.Numerics.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v7.0", 4 | "signature": "" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v7.0": { 9 | "varai2d_surface/1.0.0": { 10 | "dependencies": { 11 | "MathNet.Numerics": "4.15.0" 12 | }, 13 | "runtime": { 14 | "varai2d_surface.dll": {} 15 | } 16 | }, 17 | "MathNet.Numerics/4.15.0": { 18 | "runtime": { 19 | "lib/netstandard2.0/MathNet.Numerics.dll": { 20 | "assemblyVersion": "4.15.0.0", 21 | "fileVersion": "4.15.0.0" 22 | } 23 | } 24 | } 25 | } 26 | }, 27 | "libraries": { 28 | "varai2d_surface/1.0.0": { 29 | "type": "project", 30 | "serviceable": false, 31 | "sha512": "" 32 | }, 33 | "MathNet.Numerics/4.15.0": { 34 | "type": "package", 35 | "serviceable": true, 36 | "sha512": "sha512-cP4QgPPiU7boMyL8npvuQyVGVYUd/JQY1AWa+Wl2f//fuJN40qwt9ABRazunZIcDLHg3SSlgD/e+3Lnp69jNTg==", 37 | "path": "mathnet.numerics/4.15.0", 38 | "hashPath": "mathnet.numerics.4.15.0.nupkg.sha512" 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.exe -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.pdb -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/bin/Debug/net7.0-windows/varai2d_surface.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net7.0", 4 | "frameworks": [ 5 | { 6 | "name": "Microsoft.NETCore.App", 7 | "version": "7.0.0" 8 | }, 9 | { 10 | "name": "Microsoft.WindowsDesktop.App", 11 | "version": "7.0.0" 12 | } 13 | ] 14 | } 15 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/export_control/export_file_raw_data_txt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using varai2d_surface.Geometry_class.geometry_store; 8 | using varai2d_surface.Geometry_class; 9 | using varai2d_surface.global_static; 10 | 11 | namespace varai2d_surface.export_control 12 | { 13 | public class export_file_raw_data_txt 14 | { 15 | private workarea_control wkc_obj; 16 | private List _output_str = new List(); 17 | 18 | public string[] output_str { get { return this._output_str.ToArray(); } } 19 | 20 | public export_file_raw_data_txt(workarea_control wkc) 21 | { 22 | this.wkc_obj = wkc; 23 | 24 | // Create the Raw data export 25 | string temp_str = ""; 26 | double o_x, o_y; 27 | 28 | // Information lines 29 | temp_str = "######################################################"; 30 | this._output_str.Add(temp_str); 31 | temp_str = "####### Samson Mano's Varai2D Raw Data ###############"; 32 | this._output_str.Add(temp_str); 33 | temp_str = "######################################################"; 34 | this._output_str.Add(temp_str); 35 | 36 | // Add End points 37 | temp_str = "[+] End Points, " + this.wkc_obj.geom_obj.all_end_pts.Count.ToString(); 38 | this._output_str.Add(temp_str); 39 | 40 | foreach (points_store pts in this.wkc_obj.geom_obj.all_end_pts) 41 | { 42 | o_x = pts.x / gvariables.scale_factor; 43 | o_y = (-1.0d * pts.y) / gvariables.scale_factor; 44 | 45 | temp_str = pts.nd_id.ToString() + ", " + o_x.ToString() + ", " + o_y.ToString(); 46 | this._output_str.Add(temp_str); 47 | } 48 | 49 | // Add Lines 50 | if (this.wkc_obj.geom_obj.all_lines.Count != 0) 51 | { 52 | temp_str = "[+] Lines, " + this.wkc_obj.geom_obj.all_lines.Count.ToString(); 53 | this._output_str.Add(temp_str); 54 | 55 | foreach (lines_store ln in this.wkc_obj.geom_obj.all_lines) 56 | { 57 | temp_str = ln.line_id.ToString() + ", " + ln.pt_start_id.ToString() + ", " + ln.pt_end_id.ToString(); 58 | this._output_str.Add(temp_str); 59 | } 60 | } 61 | 62 | // Add arcs 63 | if (this.wkc_obj.geom_obj.all_arcs.Count != 0) 64 | { 65 | temp_str = "[+] Arcs, " + this.wkc_obj.geom_obj.all_arcs.Count.ToString(); 66 | this._output_str.Add(temp_str); 67 | 68 | foreach (arcs_store arcs in this.wkc_obj.geom_obj.all_arcs) 69 | { 70 | temp_str = arcs.arc_id.ToString() + ", " + arcs.pt_chord_start_id.ToString() + ", " + arcs.pt_chord_end_id.ToString(); 71 | this._output_str.Add(temp_str); 72 | 73 | // Add the center point and crown point to the raw data 74 | o_x = arcs.arc_center_pt.X / gvariables.scale_factor; 75 | o_y = (-1.0d * arcs.arc_center_pt.Y) / gvariables.scale_factor; 76 | temp_str = "c0, " + o_x.ToString() + ", " + o_y.ToString(); 77 | this._output_str.Add(temp_str); 78 | 79 | o_x = arcs.arc_crown_pt.X / gvariables.scale_factor; 80 | o_y = (-1.0d * arcs.arc_crown_pt.Y) / gvariables.scale_factor; 81 | temp_str = "c1, " + arcs.arc_crown_pt.X.ToString() + ", " + arcs.arc_crown_pt.Y.ToString(); 82 | this._output_str.Add(temp_str); 83 | } 84 | } 85 | 86 | // Add bezier 87 | if (this.wkc_obj.geom_obj.all_beziers.Count != 0) 88 | { 89 | temp_str = "[+] Beziers, " + this.wkc_obj.geom_obj.all_beziers.Count.ToString(); 90 | this._output_str.Add(temp_str); 91 | 92 | foreach (beziers_store bz in this.wkc_obj.geom_obj.all_beziers) 93 | { 94 | temp_str = bz.bezier_id.ToString() + ", " + bz.pt_bz_start_id.ToString() + ", " + bz.pt_bz_end_id.ToString(); 95 | // Add the control point count 96 | temp_str = temp_str + ", c@" + (bz.bezier_cntrl_pts.Count - 2).ToString(); 97 | 98 | this._output_str.Add(temp_str); 99 | 100 | // Add the internal control points to the raw data 101 | int j = 0; 102 | for (int i = 1; i < (bz.bezier_cntrl_pts.Count - 1); i++) 103 | { 104 | o_x = bz.bezier_cntrl_pts[i].X / gvariables.scale_factor; 105 | o_y = (-1.0d * bz.bezier_cntrl_pts[i].Y) / gvariables.scale_factor; 106 | temp_str = "c" + j.ToString() + ", " + o_x.ToString() + ", " + o_y.ToString(); 107 | this._output_str.Add(temp_str); 108 | j++; 109 | } 110 | } 111 | } 112 | 113 | // Add surface 114 | if (this.wkc_obj.geom_obj.all_surfaces.Count != 0) 115 | { 116 | temp_str = "[+] Surfaces, " + this.wkc_obj.geom_obj.all_surfaces.Count.ToString(); 117 | this._output_str.Add(temp_str); 118 | 119 | foreach (surface_store surf in this.wkc_obj.geom_obj.all_surfaces) 120 | { 121 | // Closed loop boundary id 122 | temp_str = surf.surf_id.ToString() + ", {"; 123 | foreach (int m_id in surf.closed_loop_bndry_id) 124 | { 125 | temp_str = temp_str + m_id.ToString() + ", "; 126 | } 127 | temp_str = temp_str.Remove(temp_str.Length - 2, 2); 128 | temp_str = temp_str + "}"; 129 | // Add the nested surface count 130 | temp_str = temp_str + ", n@" + surf.nested_surface_count; 131 | 132 | this._output_str.Add(temp_str); 133 | 134 | // Add the nested surface's closed loop member id 135 | string outpt = surf.get_nested_surface_closed_boundary_member_ids(); 136 | string[] split_nested_surface_output = new string[0]; 137 | if (outpt != null) 138 | { 139 | split_nested_surface_output = surf.get_nested_surface_closed_boundary_member_ids().Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 140 | } 141 | 142 | for (int j = 0; j < split_nested_surface_output.Length; j++) 143 | { 144 | temp_str = "n" + j.ToString() + split_nested_surface_output[j]; 145 | this._output_str.Add(temp_str); 146 | } 147 | } 148 | } 149 | 150 | // End the lines 151 | temp_str = "######################################################"; 152 | this._output_str.Add(temp_str); 153 | temp_str = "######################################################"; 154 | this._output_str.Add(temp_str); 155 | } 156 | 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/global_static/gvariables.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Drawing; 7 | using System.Drawing.Drawing2D; 8 | 9 | namespace varai2d_surface.global_static 10 | { 11 | public static class gvariables 12 | { 13 | // Epsilon value for geometry space 14 | public const double epsilon_g = 0.001; 15 | 16 | // Painting area details 17 | public static SizeF mainpic_size; 18 | public static PointF mainpic_center; 19 | public static double zoom_factor =1.01f; 20 | public static double scale_factor=1.0f; 21 | public static double scale_margin = 0.9f; 22 | 23 | // User options variables 24 | public static Color color_mainpic = Color.White; 25 | public static Color color_txtforecolor = Color.DarkMagenta; 26 | public static Color color_memberclr = Color.BlueViolet; 27 | public static Color color_pointsclr = Color.DarkRed; 28 | public static Color color_snaplineclr = Color.DarkOrange; 29 | public static Color color_stringforeclr = Color.DarkSeaGreen; 30 | 31 | public static int linewidth_curves = 3; 32 | public static int radius_points = 3; 33 | public static int linewidth_snapline = 1; 34 | 35 | public static int Trans_PV = 0; 36 | public static Pen pen_curves = new Pen(Color.FromArgb(255 - Trans_PV, color_memberclr), linewidth_curves); 37 | public static Pen pen_selected_curves = new Pen(Color.FromArgb(50, 0, 200, 0), linewidth_curves + 3); 38 | public static Pen pen_snapline = new Pen(Color.FromArgb(180, color_snaplineclr), linewidth_snapline); 39 | public static Pen pen_points = new Pen(Color.FromArgb(225 - Trans_PV, color_pointsclr), 2); 40 | public static Pen pen_string = new Pen(Color.FromArgb(255 - Trans_PV, color_stringforeclr), 3); 41 | 42 | public static int bezier_n_count = 4; 43 | 44 | public static string pt_coord_pres = "F3"; 45 | public static string ln_length_pres = "F3"; 46 | public static int str_font_size = 10; 47 | 48 | // snap option control 49 | public static bool Is_hvsnap = true; 50 | public static double hvsnap_intensity = 2.0; 51 | 52 | public static bool Is_xysnap = true; 53 | public static double xysnap_intensity = 4.0; 54 | 55 | // Paint string options 56 | public static bool Is_paint_pt = true; 57 | public static bool Is_paint_ptid = true; 58 | public static bool Is_paint_ptcoord = false; 59 | public static bool Is_paint_memberid = true; 60 | public static bool Is_paint_memberlength = true; 61 | public static bool Is_paint_surfaceid = true; 62 | 63 | // Temporary mouse point 64 | public static PointF cursor_on_clickpt; 65 | public static PointF cursor_on_movept; 66 | 67 | // Flag variables to control operation 68 | public static bool Is_duplicate = false; 69 | public static bool Is_panflg = false; 70 | public static bool Is_cntrldown = false; 71 | public static bool Is_shiftdown = false; 72 | public static bool Is_selectflg = false; 73 | public static bool Is_txtboxliveflg = false; 74 | public static bool Is_txtboxfocusflg = false; 75 | public static bool Is_surface_frm_open = false; 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/global_static/options_form.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | text/microsoft-resx 50 | 51 | 52 | 2.0 53 | 54 | 55 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 56 | 57 | 58 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 59 | 60 | 61 | Varai2D 62 | version: 2020 63 | 64 | Varai2D is a powerful windows application to create 2D geometry. The main objective of this application is to allow user to create 2D domains which can be easily imported to mesh generation or other FE softwares. 65 | 66 | Developed by Samson Mano 67 | GitHub: https://github.com/Samson-Mano/ 68 | Website: https://sites.google.com/site/samsoninfinite/ 69 | Email: saminnx@gmail.com 70 | 71 | 72 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/global_static/surface_form_api.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace varai2d_surface.global_static 3 | { 4 | partial class surface_form_api 5 | { 6 | /// 7 | /// Required designer variable. 8 | /// 9 | private System.ComponentModel.IContainer components = null; 10 | 11 | /// 12 | /// Clean up any resources being used. 13 | /// 14 | /// true if managed resources should be disposed; otherwise, false. 15 | protected override void Dispose(bool disposing) 16 | { 17 | if (disposing && (components != null)) 18 | { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Windows Form Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); 33 | this.statusStrip1 = new System.Windows.Forms.StatusStrip(); 34 | this.toolStripStatusLabel_help = new System.Windows.Forms.ToolStripStatusLabel(); 35 | this.menuStrip1 = new System.Windows.Forms.MenuStrip(); 36 | this.toolStripMenuItem_add = new System.Windows.Forms.ToolStripMenuItem(); 37 | this.toolStripMenuItem_delete = new System.Windows.Forms.ToolStripMenuItem(); 38 | this.dataGridView_surfacedata = new System.Windows.Forms.DataGridView(); 39 | this.Column_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); 40 | this.Column_end_pts_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); 41 | this.Column_lineids = new System.Windows.Forms.DataGridViewTextBoxColumn(); 42 | this.Column_arcid = new System.Windows.Forms.DataGridViewTextBoxColumn(); 43 | this.Column_bezierIds = new System.Windows.Forms.DataGridViewTextBoxColumn(); 44 | this.Column_nested = new System.Windows.Forms.DataGridViewTextBoxColumn(); 45 | this.Column_area = new System.Windows.Forms.DataGridViewTextBoxColumn(); 46 | this.statusStrip1.SuspendLayout(); 47 | this.menuStrip1.SuspendLayout(); 48 | ((System.ComponentModel.ISupportInitialize)(this.dataGridView_surfacedata)).BeginInit(); 49 | this.SuspendLayout(); 50 | // 51 | // statusStrip1 52 | // 53 | this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); 54 | this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 55 | this.toolStripStatusLabel_help}); 56 | this.statusStrip1.Location = new System.Drawing.Point(0, 327); 57 | this.statusStrip1.Name = "statusStrip1"; 58 | this.statusStrip1.Size = new System.Drawing.Size(882, 26); 59 | this.statusStrip1.TabIndex = 0; 60 | this.statusStrip1.Text = "statusStrip1"; 61 | // 62 | // toolStripStatusLabel_help 63 | // 64 | this.toolStripStatusLabel_help.Name = "toolStripStatusLabel_help"; 65 | this.toolStripStatusLabel_help.Size = new System.Drawing.Size(499, 20); 66 | this.toolStripStatusLabel_help.Text = "Select (Add Surface or Delete Surface option) and Left click on the surface"; 67 | // 68 | // menuStrip1 69 | // 70 | this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); 71 | this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 72 | this.toolStripMenuItem_add, 73 | this.toolStripMenuItem_delete}); 74 | this.menuStrip1.Location = new System.Drawing.Point(0, 0); 75 | this.menuStrip1.Name = "menuStrip1"; 76 | this.menuStrip1.Size = new System.Drawing.Size(882, 28); 77 | this.menuStrip1.TabIndex = 1; 78 | this.menuStrip1.Text = "menuStrip1"; 79 | // 80 | // toolStripMenuItem_add 81 | // 82 | this.toolStripMenuItem_add.Name = "toolStripMenuItem_add"; 83 | this.toolStripMenuItem_add.Size = new System.Drawing.Size(104, 24); 84 | this.toolStripMenuItem_add.Text = "Add Surface"; 85 | this.toolStripMenuItem_add.Click += new System.EventHandler(this.toolStripMenuItem_add_ItemClicked); 86 | // 87 | // toolStripMenuItem_delete 88 | // 89 | this.toolStripMenuItem_delete.Name = "toolStripMenuItem_delete"; 90 | this.toolStripMenuItem_delete.Size = new System.Drawing.Size(120, 24); 91 | this.toolStripMenuItem_delete.Text = "Delete Surface"; 92 | this.toolStripMenuItem_delete.Click += new System.EventHandler(this.toolStripMenuItem_delete_ItemClicked); 93 | // 94 | // dataGridView_surfacedata 95 | // 96 | this.dataGridView_surfacedata.AllowUserToAddRows = false; 97 | this.dataGridView_surfacedata.AllowUserToDeleteRows = false; 98 | this.dataGridView_surfacedata.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; 99 | this.dataGridView_surfacedata.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; 100 | this.dataGridView_surfacedata.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { 101 | this.Column_id, 102 | this.Column_end_pts_id, 103 | this.Column_lineids, 104 | this.Column_arcid, 105 | this.Column_bezierIds, 106 | this.Column_nested, 107 | this.Column_area}); 108 | dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; 109 | dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; 110 | dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); 111 | dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; 112 | dataGridViewCellStyle1.NullValue = null; 113 | dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; 114 | dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; 115 | dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; 116 | this.dataGridView_surfacedata.DefaultCellStyle = dataGridViewCellStyle1; 117 | this.dataGridView_surfacedata.Dock = System.Windows.Forms.DockStyle.Fill; 118 | this.dataGridView_surfacedata.Location = new System.Drawing.Point(0, 28); 119 | this.dataGridView_surfacedata.Name = "dataGridView_surfacedata"; 120 | this.dataGridView_surfacedata.ReadOnly = true; 121 | this.dataGridView_surfacedata.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; 122 | this.dataGridView_surfacedata.RowTemplate.Height = 29; 123 | this.dataGridView_surfacedata.Size = new System.Drawing.Size(882, 299); 124 | this.dataGridView_surfacedata.TabIndex = 2; 125 | // 126 | // Column_id 127 | // 128 | this.Column_id.HeaderText = "Surface ID"; 129 | this.Column_id.MinimumWidth = 6; 130 | this.Column_id.Name = "Column_id"; 131 | this.Column_id.ReadOnly = true; 132 | this.Column_id.Width = 80; 133 | // 134 | // Column_end_pts_id 135 | // 136 | this.Column_end_pts_id.HeaderText = "End Pts IDs"; 137 | this.Column_end_pts_id.MinimumWidth = 6; 138 | this.Column_end_pts_id.Name = "Column_end_pts_id"; 139 | this.Column_end_pts_id.ReadOnly = true; 140 | this.Column_end_pts_id.Width = 125; 141 | // 142 | // Column_lineids 143 | // 144 | this.Column_lineids.HeaderText = "Line IDs"; 145 | this.Column_lineids.MinimumWidth = 6; 146 | this.Column_lineids.Name = "Column_lineids"; 147 | this.Column_lineids.ReadOnly = true; 148 | this.Column_lineids.Width = 125; 149 | // 150 | // Column_arcid 151 | // 152 | this.Column_arcid.HeaderText = "Arc IDs"; 153 | this.Column_arcid.MinimumWidth = 6; 154 | this.Column_arcid.Name = "Column_arcid"; 155 | this.Column_arcid.ReadOnly = true; 156 | this.Column_arcid.Width = 125; 157 | // 158 | // Column_bezierIds 159 | // 160 | this.Column_bezierIds.HeaderText = "Bezier IDs"; 161 | this.Column_bezierIds.MinimumWidth = 6; 162 | this.Column_bezierIds.Name = "Column_bezierIds"; 163 | this.Column_bezierIds.ReadOnly = true; 164 | this.Column_bezierIds.Width = 125; 165 | // 166 | // Column_nested 167 | // 168 | this.Column_nested.HeaderText = "Nested member IDs"; 169 | this.Column_nested.MinimumWidth = 6; 170 | this.Column_nested.Name = "Column_nested"; 171 | this.Column_nested.ReadOnly = true; 172 | this.Column_nested.Width = 125; 173 | // 174 | // Column_area 175 | // 176 | this.Column_area.HeaderText = "Surface Area"; 177 | this.Column_area.MinimumWidth = 6; 178 | this.Column_area.Name = "Column_area"; 179 | this.Column_area.ReadOnly = true; 180 | this.Column_area.Width = 125; 181 | // 182 | // surface_form_api 183 | // 184 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); 185 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 186 | this.ClientSize = new System.Drawing.Size(882, 353); 187 | this.Controls.Add(this.dataGridView_surfacedata); 188 | this.Controls.Add(this.statusStrip1); 189 | this.Controls.Add(this.menuStrip1); 190 | this.MainMenuStrip = this.menuStrip1; 191 | this.MinimumSize = new System.Drawing.Size(500, 400); 192 | this.Name = "surface_form_api"; 193 | this.Text = "Surface Creation API"; 194 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.surface_form_api_FormClosing); 195 | this.Load += new System.EventHandler(this.surface_form_api_Load); 196 | this.statusStrip1.ResumeLayout(false); 197 | this.statusStrip1.PerformLayout(); 198 | this.menuStrip1.ResumeLayout(false); 199 | this.menuStrip1.PerformLayout(); 200 | ((System.ComponentModel.ISupportInitialize)(this.dataGridView_surfacedata)).EndInit(); 201 | this.ResumeLayout(false); 202 | this.PerformLayout(); 203 | 204 | } 205 | 206 | #endregion 207 | 208 | private System.Windows.Forms.StatusStrip statusStrip1; 209 | private System.Windows.Forms.MenuStrip menuStrip1; 210 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem_add; 211 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem_delete; 212 | private System.Windows.Forms.DataGridView dataGridView_surfacedata; 213 | private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel_help; 214 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_id; 215 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_end_pts_id; 216 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_lineids; 217 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_arcid; 218 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_bezierIds; 219 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_nested; 220 | private System.Windows.Forms.DataGridViewTextBoxColumn Column_area; 221 | } 222 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/global_static/surface_form_api.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | text/microsoft-resx 50 | 51 | 52 | 2.0 53 | 54 | 55 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 56 | 57 | 58 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 59 | 60 | 61 | True 62 | 63 | 64 | True 65 | 66 | 67 | True 68 | 69 | 70 | True 71 | 72 | 73 | True 74 | 75 | 76 | True 77 | 78 | 79 | True 80 | 81 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/global_static/toolbarstate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace varai2d_surface.global_static 8 | { 9 | public static class toolbarstate 10 | { 11 | // Add menu item - checkstate controller 12 | public static bool toolbar_select_Ischecked = false; 13 | public static bool toolbar_addline_Ischecked = false; 14 | public static bool toolbar_addcircle_Ischecked = false; 15 | public static bool toolbar_addpointarc_Ischecked = false; 16 | public static bool toolbar_addanglearc_Ischecked = false; 17 | public static bool toolbar_addbezier_Ischecked = false; 18 | 19 | // Modify menu item - checkstate controller 20 | public static bool toolbar_translate_Ischecked = false; 21 | public static bool toolbar_rotate_Ischecked = false; 22 | public static bool toolbar_mirror_Ischecked = false; 23 | 24 | public static bool toolbar_surface_creation_Ischecked = false; 25 | 26 | public static int checked_state_index = -1; // variable to store checked toolbar 0 - 8 27 | public static void update_toolbar_checkedstatus(string str_checked_state) 28 | { 29 | string[] str_cstate = str_checked_state.Split(','); 30 | 31 | toolbar_select_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[0])); 32 | toolbar_addline_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[1])); 33 | toolbar_addcircle_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[2])); 34 | toolbar_addpointarc_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[3])); 35 | toolbar_addanglearc_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[4])); 36 | toolbar_addbezier_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[5])); 37 | 38 | toolbar_translate_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[6])); 39 | toolbar_rotate_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[7])); 40 | toolbar_mirror_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[8])); 41 | 42 | toolbar_surface_creation_Ischecked = Convert.ToBoolean(Convert.ToInt32(str_cstate[9])); 43 | 44 | // Update checked state index 45 | if (toolbar_select_Ischecked == true) 46 | { 47 | // Select is checked 48 | if (toolbar_translate_Ischecked == true) 49 | { 50 | // translate is checked 51 | checked_state_index = 6; 52 | } 53 | else if (toolbar_rotate_Ischecked == true) 54 | { 55 | // rotate is checked 56 | checked_state_index = 7; 57 | } 58 | else if (toolbar_mirror_Ischecked == true) 59 | { 60 | // Mirror is checked 61 | checked_state_index = 8; 62 | } 63 | else 64 | { 65 | // only selection is progress 66 | checked_state_index = 0; 67 | } 68 | } 69 | else if (toolbar_addline_Ischecked == true) 70 | { 71 | // Addline is checked 72 | checked_state_index = 1; 73 | } 74 | else if (toolbar_addcircle_Ischecked == true) 75 | { 76 | // Add Circle is checked 77 | checked_state_index = 2; 78 | } 79 | else if (toolbar_addpointarc_Ischecked == true) 80 | { 81 | // Add point arc 1 82 | checked_state_index = 3; 83 | } 84 | else if (toolbar_addanglearc_Ischecked == true) 85 | { 86 | // Add angle arc 2 87 | checked_state_index = 4; 88 | } 89 | else if (toolbar_addbezier_Ischecked == true) 90 | { 91 | // Add bezier curve 92 | checked_state_index = 5; 93 | } 94 | else 95 | { 96 | // no selection 97 | checked_state_index = -1; 98 | } 99 | } 100 | 101 | public static int get_toolchecked_state 102 | { 103 | get 104 | { 105 | return checked_state_index; 106 | } 107 | } 108 | 109 | public static string get_status_tooltip(int checked_tool) 110 | { 111 | string tooltip = ""; 112 | switch (checked_tool) 113 | { 114 | case -1:// new file 115 | { 116 | tooltip = " File -> New (To start a new project)"; 117 | break; 118 | } 119 | case 0: // Select 120 | { 121 | tooltip = " Select member: Left click and drag to select member (Select members to Delete, translate, rotate, mirror)"; 122 | break; 123 | } 124 | case 1: // Add Line 125 | { 126 | tooltip = " Add Line: Left click to start add line + left click to complete the line"; 127 | break; 128 | } 129 | case 2: // Add Circle 130 | { 131 | tooltip = " Add Circle: Left click to fix center + left click to fix arc radius and complete the circle"; 132 | break; 133 | } 134 | case 3: // Add Arc 1 135 | { 136 | tooltip = " Add Arc 1: Left click + Left click to create chord + left click to fix arc radius and complete the arc"; 137 | break; 138 | } 139 | case 4: // Add Arc 2 140 | { 141 | tooltip = " Add Arc 2: Left click + Left click to create arc radius + left click to fix the sector angle and complet the arc"; 142 | break; 143 | } 144 | case 5: // Add Bezier 145 | { 146 | tooltip = " Add Bezier: Left clicks to add end and control point of bezier curve"; 147 | break; 148 | } 149 | case 6: // Modify Translation 150 | { 151 | tooltip = " Translate: Left click to start translation + left click to complete the translation"; 152 | break; 153 | } 154 | case 7: // Modify Rotation 155 | { 156 | tooltip = " Rotate: Left click to fix the rotation center + left click to fix the rotation angle"; 157 | break; 158 | } 159 | case 8: // Modify Reflection 160 | { 161 | tooltip = " Mirror: Left click to start the mirror line + left click to complete the mirror line"; 162 | break; 163 | } 164 | case 9: 165 | { 166 | tooltip = " Left Click on closed boundary to create surface (or) Right Click to delete"; 167 | break; 168 | } 169 | 170 | } 171 | 172 | return tooltip; 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/innx_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/innx_icon.ico -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = ".NET 5.0")] 5 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/apphost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/apphost.exe -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/ref/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/ref/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Samson Mano")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("varai2d_surface")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("varai2d_surface")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | [assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] 22 | [assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] 23 | 24 | // Generated by the MSBuild WriteCodeFragment class. 25 | 26 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 61670099ac7ac1391bea906d7847d0ee2c2559c6 2 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.ApplicationManifest = 3 | build_property.StartupObject = 4 | build_property.ApplicationDefaultFont = 5 | build_property.ApplicationHighDpiMode = 6 | build_property.ApplicationUseCompatibleTextRendering = 7 | build_property.ApplicationVisualStyles = 8 | build_property.TargetFramework = net5.0-windows 9 | build_property.TargetPlatformMinVersion = 7.0 10 | build_property.UsingMicrosoftNETSdkWeb = 11 | build_property.ProjectTypeGuids = 12 | build_property.InvariantGlobalization = 13 | build_property.PlatformNeutralAssembly = 14 | build_property.EnforceExtendedAnalyzerRules = 15 | build_property._SupportedPlatformList = Linux,macOS,Windows 16 | build_property.RootNamespace = varai2d_surface 17 | build_property.ProjectDir = C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\ 18 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.Properties.Resources.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.assets.cache -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 2d07387fe1f1d532e6af2393733ff53dc3542961 2 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.csproj.AssemblyReference.cache 2 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.global_static.options_form.resources 3 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.global_static.surface_form_api.resources 4 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.main_form.resources 5 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.Properties.Resources.resources 6 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.csproj.GenerateResource.cache 7 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.GeneratedMSBuildEditorConfig.editorconfig 8 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.AssemblyInfoInputs.cache 9 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.AssemblyInfo.cs 10 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net5.0-windows\varai2d_surface.csproj.CoreCompileInputs.cache 11 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.global_static.options_form.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.global_static.options_form.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.global_static.surface_form_api.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.global_static.surface_form_api.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.main_form.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net5.0-windows/varai2d_surface.main_form.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")] 5 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/apphost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/apphost.exe -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/ref/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/ref/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/refint/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/refint/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Samson Mano")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("varai2d_surface")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("varai2d_surface")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | [assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] 22 | [assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] 23 | 24 | // Generated by the MSBuild WriteCodeFragment class. 25 | 26 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 61670099ac7ac1391bea906d7847d0ee2c2559c6 2 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.ApplicationManifest = 3 | build_property.StartupObject = 4 | build_property.ApplicationDefaultFont = 5 | build_property.ApplicationHighDpiMode = 6 | build_property.ApplicationUseCompatibleTextRendering = 7 | build_property.ApplicationVisualStyles = 8 | build_property.TargetFramework = net7.0-windows 9 | build_property.TargetPlatformMinVersion = 7.0 10 | build_property.UsingMicrosoftNETSdkWeb = 11 | build_property.ProjectTypeGuids = 12 | build_property.InvariantGlobalization = 13 | build_property.PlatformNeutralAssembly = 14 | build_property.EnforceExtendedAnalyzerRules = 15 | build_property._SupportedPlatformList = Linux,macOS,Windows 16 | build_property.RootNamespace = varai2d_surface 17 | build_property.ProjectDir = C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\ 18 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.Properties.Resources.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.assets.cache -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.BuildWithSkipAnalyzers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.BuildWithSkipAnalyzers -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.CopyComplete -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 7664a555f77bcea5ab9f8f6387ce87c693e8034d 2 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\bin\Debug\net7.0-windows\varai2d_surface.exe 2 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\bin\Debug\net7.0-windows\varai2d_surface.deps.json 3 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\bin\Debug\net7.0-windows\varai2d_surface.runtimeconfig.json 4 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\bin\Debug\net7.0-windows\varai2d_surface.dll 5 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\bin\Debug\net7.0-windows\varai2d_surface.pdb 6 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\bin\Debug\net7.0-windows\MathNet.Numerics.dll 7 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.csproj.AssemblyReference.cache 8 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.global_static.options_form.resources 9 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.global_static.surface_form_api.resources 10 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.main_form.resources 11 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.Properties.Resources.resources 12 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.csproj.GenerateResource.cache 13 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.GeneratedMSBuildEditorConfig.editorconfig 14 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.AssemblyInfoInputs.cache 15 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.AssemblyInfo.cs 16 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.csproj.CoreCompileInputs.cache 17 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.csproj.CopyComplete 18 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.dll 19 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\refint\varai2d_surface.dll 20 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.pdb 21 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\varai2d_surface.genruntimeconfig.cache 22 | C:\Users\HFXMSZ\OneDrive - LR\Documents\Programming\Other programs\001_Legacy_codes\Github_cloned\Draw2D_geometry\varai2d_surface\varai2d_surface\obj\Debug\net7.0-windows\ref\varai2d_surface.dll 23 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.dll -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | 48ccfc152aaaf70fc6dca3fee1d37623acc9c764 2 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.global_static.options_form.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.global_static.options_form.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.global_static.surface_form_api.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.global_static.surface_form_api.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.main_form.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.main_form.resources -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Samson-Mano/Draw2D_geometry/2b68e6ee2e98f29443a44e8ce6dab169f127da38/varai2d_surface/varai2d_surface/obj/Debug/net7.0-windows/varai2d_surface.pdb -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/project.assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "targets": { 4 | "net7.0-windows7.0": { 5 | "MathNet.Numerics/4.15.0": { 6 | "type": "package", 7 | "compile": { 8 | "lib/netstandard2.0/MathNet.Numerics.dll": { 9 | "related": ".xml" 10 | } 11 | }, 12 | "runtime": { 13 | "lib/netstandard2.0/MathNet.Numerics.dll": { 14 | "related": ".xml" 15 | } 16 | } 17 | } 18 | } 19 | }, 20 | "libraries": { 21 | "MathNet.Numerics/4.15.0": { 22 | "sha512": "cP4QgPPiU7boMyL8npvuQyVGVYUd/JQY1AWa+Wl2f//fuJN40qwt9ABRazunZIcDLHg3SSlgD/e+3Lnp69jNTg==", 23 | "type": "package", 24 | "path": "mathnet.numerics/4.15.0", 25 | "files": [ 26 | ".nupkg.metadata", 27 | ".signature.p7s", 28 | "icon.png", 29 | "lib/net40/MathNet.Numerics.dll", 30 | "lib/net40/MathNet.Numerics.xml", 31 | "lib/net461/MathNet.Numerics.dll", 32 | "lib/net461/MathNet.Numerics.xml", 33 | "lib/netstandard1.3/MathNet.Numerics.dll", 34 | "lib/netstandard1.3/MathNet.Numerics.xml", 35 | "lib/netstandard2.0/MathNet.Numerics.dll", 36 | "lib/netstandard2.0/MathNet.Numerics.xml", 37 | "mathnet.numerics.4.15.0.nupkg.sha512", 38 | "mathnet.numerics.nuspec" 39 | ] 40 | } 41 | }, 42 | "projectFileDependencyGroups": { 43 | "net7.0-windows7.0": [ 44 | "MathNet.Numerics >= 4.15.0" 45 | ] 46 | }, 47 | "packageFolders": { 48 | "C:\\Users\\HFXMSZ\\.nuget\\packages\\": {} 49 | }, 50 | "project": { 51 | "version": "1.0.0", 52 | "restore": { 53 | "projectUniqueName": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj", 54 | "projectName": "varai2d_surface", 55 | "projectPath": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj", 56 | "packagesPath": "C:\\Users\\HFXMSZ\\.nuget\\packages\\", 57 | "outputPath": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\obj\\", 58 | "projectStyle": "PackageReference", 59 | "configFilePaths": [ 60 | "C:\\Users\\HFXMSZ\\AppData\\Roaming\\NuGet\\NuGet.Config", 61 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 62 | ], 63 | "originalTargetFrameworks": [ 64 | "net7.0-windows" 65 | ], 66 | "sources": { 67 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 68 | "https://api.nuget.org/v3/index.json": {} 69 | }, 70 | "frameworks": { 71 | "net7.0-windows7.0": { 72 | "targetAlias": "net7.0-windows", 73 | "projectReferences": {} 74 | } 75 | }, 76 | "warningProperties": { 77 | "warnAsError": [ 78 | "NU1605" 79 | ] 80 | } 81 | }, 82 | "frameworks": { 83 | "net7.0-windows7.0": { 84 | "targetAlias": "net7.0-windows", 85 | "dependencies": { 86 | "MathNet.Numerics": { 87 | "target": "Package", 88 | "version": "[4.15.0, )" 89 | } 90 | }, 91 | "imports": [ 92 | "net461", 93 | "net462", 94 | "net47", 95 | "net471", 96 | "net472", 97 | "net48", 98 | "net481" 99 | ], 100 | "assetTargetFallback": true, 101 | "warn": true, 102 | "frameworkReferences": { 103 | "Microsoft.NETCore.App": { 104 | "privateAssets": "all" 105 | }, 106 | "Microsoft.WindowsDesktop.App.WindowsForms": { 107 | "privateAssets": "none" 108 | } 109 | }, 110 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.203\\RuntimeIdentifierGraph.json" 111 | } 112 | } 113 | } 114 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/project.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | "dgSpecHash": "yn/d6SC6yCjOPhtfThhQ72z2nK82SIp9JVpRJhnGy+Yv8MPlAnl0vFiiWTcVcdFpgvMgWEpotcxwXXf5wLSJxw==", 4 | "success": true, 5 | "projectFilePath": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj", 6 | "expectedPackageFiles": [ 7 | "C:\\Users\\HFXMSZ\\.nuget\\packages\\mathnet.numerics\\4.15.0\\mathnet.numerics.4.15.0.nupkg.sha512" 8 | ], 9 | "logs": [] 10 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/varai2d_surface.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "format": 1, 3 | "restore": { 4 | "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj": {} 5 | }, 6 | "projects": { 7 | "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj": { 8 | "version": "1.0.0", 9 | "restore": { 10 | "projectUniqueName": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj", 11 | "projectName": "varai2d_surface", 12 | "projectPath": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\varai2d_surface.csproj", 13 | "packagesPath": "C:\\Users\\HFXMSZ\\.nuget\\packages\\", 14 | "outputPath": "C:\\Users\\HFXMSZ\\OneDrive - LR\\Documents\\Programming\\Other programs\\001_Legacy_codes\\Github_cloned\\Draw2D_geometry\\varai2d_surface\\varai2d_surface\\obj\\", 15 | "projectStyle": "PackageReference", 16 | "configFilePaths": [ 17 | "C:\\Users\\HFXMSZ\\AppData\\Roaming\\NuGet\\NuGet.Config", 18 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 19 | ], 20 | "originalTargetFrameworks": [ 21 | "net7.0-windows" 22 | ], 23 | "sources": { 24 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 25 | "https://api.nuget.org/v3/index.json": {} 26 | }, 27 | "frameworks": { 28 | "net7.0-windows7.0": { 29 | "targetAlias": "net7.0-windows", 30 | "projectReferences": {} 31 | } 32 | }, 33 | "warningProperties": { 34 | "warnAsError": [ 35 | "NU1605" 36 | ] 37 | } 38 | }, 39 | "frameworks": { 40 | "net7.0-windows7.0": { 41 | "targetAlias": "net7.0-windows", 42 | "dependencies": { 43 | "MathNet.Numerics": { 44 | "target": "Package", 45 | "version": "[4.15.0, )" 46 | } 47 | }, 48 | "imports": [ 49 | "net461", 50 | "net462", 51 | "net47", 52 | "net471", 53 | "net472", 54 | "net48", 55 | "net481" 56 | ], 57 | "assetTargetFallback": true, 58 | "warn": true, 59 | "frameworkReferences": { 60 | "Microsoft.NETCore.App": { 61 | "privateAssets": "all" 62 | }, 63 | "Microsoft.WindowsDesktop.App.WindowsForms": { 64 | "privateAssets": "none" 65 | } 66 | }, 67 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.203\\RuntimeIdentifierGraph.json" 68 | } 69 | } 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/varai2d_surface.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | $(MSBuildThisFileDirectory)project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\HFXMSZ\.nuget\packages\ 9 | PackageReference 10 | 6.5.0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/obj/varai2d_surface.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/varai2d_surface.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WinExe 5 | net7.0-windows 6 | true 7 | Samson Mano 8 | innx_icon.ico 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | True 18 | True 19 | Resources.resx 20 | 21 | 22 | True 23 | True 24 | Settings.settings 25 | 26 | 27 | 28 | 29 | 30 | ResXFileCodeGenerator 31 | Resources.Designer.cs 32 | 33 | 34 | 35 | 36 | 37 | SettingsSingleFileGenerator 38 | Settings.Designer.cs 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /varai2d_surface/varai2d_surface/varai2d_surface.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Form 6 | 7 | 8 | Form 9 | 10 | 11 | Form 12 | 13 | 14 | 15 | 16 | Designer 17 | 18 | 19 | --------------------------------------------------------------------------------