From 9e3a4bc28432132c0be419bec08a2d249d87d282 Mon Sep 17 00:00:00 2001 From: sonny-unity <119548311+sonny-unity@users.noreply.github.com> Date: Mon, 18 Mar 2024 09:38:25 +0900 Subject: [PATCH] =?UTF-8?q?Maps=E3=82=A2=E3=83=83=E3=83=97=E3=83=87?= =?UTF-8?q?=E3=83=BC=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LineRendererのLoopを設定できるようになりました。 DBFエンコーディングのデフォルトをShiftJISにしました。 --- .DS_Store | Bin 0 -> 6148 bytes PlateauToolkit.Maps/.DS_Store | Bin 0 -> 6148 bytes PlateauToolkit.Maps/Editor/DbfReader.cs | 4 ++-- PlateauToolkit.Maps/Editor/GeoJsonLoader.cs | 13 +++++++++++-- .../Editor/PlateauToolkitMapsWindow.cs | 8 +++++--- .../Editor/ShapefileRenderManager.cs | 13 +++++++++++-- package.json | 2 +- 7 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 .DS_Store create mode 100644 PlateauToolkit.Maps/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3615bbd2e57fee1282c2f1d466cc18f6514a265d GIT binary patch literal 6148 zcmeHKQA@)x5WZ~Fbqrykg1!ZO9lGfh#FsMXqab$ZgUW2#&|+=I+PQ}@=)3+Q|A@cG zyCf6G6nqe2a#t?j<&sO9FD2IifM^c8b$|*0IH-iV5*A+wwUf?C&Uy%i9-{|7451AQ zAC^U6fc9<`&LF~_OX2hWMeqP2`nKT|+xn0Mqof~1D!_=>pdW=vTC2T@T)wchTy%;~ z*}3uV)yPZzbeJ^#!4=ioN=3oc_JfPCH|kW@j#ZrcVcZ+&fUw)cF4vb~+*PBd8php3 z$9ks0DLJK1Wpg|}*l$#2y-{mSs&ag|TdT^(-oa#2a@MzYj?Oy|(PONh4d((sM=dKB zr|^Qt510Go4dO_}cNj4pZ8{1gGr$Zm0}IZ8J=UD^g0F*LpBZ2VexCt4A0#TFYcVsZ zj}9#8_mSEQgd}LwU4l?rbS-8Eu?0n#P(%|d>=i?paP&*t&$XBtG~poh%s7snS=bwj z(6ggo>h2(1gIqEL%)l%Ic~h-W{y+Kt{y!VUHD-Vr_*V>wLd$D4aY;6}&Ml5|twg;= qC82(q!H*C$bSlQal!`Y{wV+>;f#_Py459~xe*`oQTrdNF%D_A4N>q;k literal 0 HcmV?d00001 diff --git a/PlateauToolkit.Maps/.DS_Store b/PlateauToolkit.Maps/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7a9f45f93a2d58dd04368ae404f578b7478acda0 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8-BN@e6!f;>wP32TAYMXkU%-eSRBA$s24l9gsXdfJ?)pN$h|lB9 z?&c5-coVTRu=~x<&u->}>@Y}c9h(#=B87qJPM>tL5dFD8uyjE{)Z8t?zw8g#uq?UdbWQ+MAnBC&&N~t6) z^dP*BC(ChX_d=yv5T}!wPKcukgxuZ4X{43|wMe76&h?E$v_xy%Iasawr*2pFT*qB^ z>t<@h;yN!6QSk^|{lb}Sa~4oa!0SAUi!Dt!cdkyFGH5(C5l zF+dD#90T?!5bcetoC+oeh=HFN!2Ll&L-Z`>2KCkf9bTW&-#|nG9p4g&(xPWEHwYdO zZc+hFDz{GzZqmUnZJcK@H)zrs*DJ$3cID#n!u9H4mpYtr&mi^005MQzpl*g8JpV`V z%Tzw{%PBM>28e-w#sF^&{ow$LvS;hJ^6;#c&>o(); m_PositionMarkerSphere.transform.SetParent(m_GeoRef.transform); m_PositionMarkerSphere.AddComponent(); m_PointDataPrefab = pointDataPrefab; + m_LoopLineRenderer = closeLineRenderer; } public bool ReadAll(string pathToFolder, float height, float lineWidth) @@ -199,7 +201,14 @@ GameObject InstantiateShape(GameObject shapeParent, GameObject parentObject, str instance.transform.parent = parentObject.transform; LineRenderer lineRenderer = instance.GetComponent(); - lineRenderer.loop = true; + if (m_LoopLineRenderer) + { + lineRenderer.loop = true; + } + else + { + lineRenderer.loop = false; + } lineRenderer.startWidth = lineWidth; lineRenderer.endWidth = lineWidth; diff --git a/PlateauToolkit.Maps/Editor/PlateauToolkitMapsWindow.cs b/PlateauToolkit.Maps/Editor/PlateauToolkitMapsWindow.cs index 97c84b8..acbac80 100644 --- a/PlateauToolkit.Maps/Editor/PlateauToolkitMapsWindow.cs +++ b/PlateauToolkit.Maps/Editor/PlateauToolkitMapsWindow.cs @@ -66,6 +66,7 @@ class PlateauToolkitMapsWindow : EditorWindow string m_GisTargetFolderName; int m_SelectedShpRenderingIndex; int m_GisModeIndex; + bool m_CloseLineRendererLoop; static readonly string[] k_ShpRenderingModes = { "Mesh", "Line" }; static readonly string[] k_GisMode = { "SHP", "GeoJson" }; @@ -503,15 +504,16 @@ bool TabButton(string iconPath, Tab tab) { EditorGUILayout.LabelField("描画タイプ", "ジオメトリから判断する"); } - if (m_SelectedShpRenderingIndex == 1) + if (m_SelectedShpRenderingIndex == 1 || m_GisModeIndex != 0) { m_LineRendererWidth = EditorGUILayout.FloatField("GISの線幅", m_LineRendererWidth); + m_CloseLineRendererLoop = EditorGUILayout.Toggle("LineRenderer Loop", m_CloseLineRendererLoop); } if (GUILayout.Button("GISデータの読み込み")) { if (m_GisModeIndex == 0) { - using (m_ShapefileRenderManager = new ShapefileRenderManager(m_GisTargetFolderName, m_SelectedShpRenderingIndex, m_GisRenderHeight, m_MergeMesh, m_SupportedEncoding, m_PointDataPrefab)) + using (m_ShapefileRenderManager = new ShapefileRenderManager(m_GisTargetFolderName, m_SelectedShpRenderingIndex, m_GisRenderHeight, m_MergeMesh, m_CloseLineRendererLoop, m_SupportedEncoding, m_PointDataPrefab)) { if (m_ShapefileRenderManager.Read(m_LineRendererWidth)) { @@ -528,7 +530,7 @@ bool TabButton(string iconPath, Tab tab) } else { - using (GeoJsonLoader geoJsonLoader = new GeoJsonLoader(m_PointDataPrefab)) + using (GeoJsonLoader geoJsonLoader = new GeoJsonLoader(m_CloseLineRendererLoop, m_PointDataPrefab)) { if (geoJsonLoader.ReadAll(m_GisTargetFolderName, m_GisRenderHeight, m_LineRendererWidth)) { diff --git a/PlateauToolkit.Maps/Editor/ShapefileRenderManager.cs b/PlateauToolkit.Maps/Editor/ShapefileRenderManager.cs index 2df4f2b..d9b9a12 100644 --- a/PlateauToolkit.Maps/Editor/ShapefileRenderManager.cs +++ b/PlateauToolkit.Maps/Editor/ShapefileRenderManager.cs @@ -32,16 +32,18 @@ public class ShapefileRenderManager : IDisposable string m_CurrentRenderingObject; float m_RenderHeight; bool m_MergeMeshes; + bool m_LoopLineRenderer; GameObject m_PointDataPrefab; - public ShapefileRenderManager(string folderPath, int renderMode, float renderHeight, bool mergeMeshes, SupportedEncoding supportedEncoding, GameObject pointDataPrefab = null) + public ShapefileRenderManager(string folderPath, int renderMode, float renderHeight, bool mergeMeshes, bool loopLineRenderer, SupportedEncoding supportedEncoding, GameObject pointDataPrefab = null) { m_GeoRef = GameObject.FindObjectOfType(); m_FolderPath = folderPath; m_RenderMode = renderMode; m_RenderHeight = renderHeight; m_MergeMeshes = mergeMeshes; + m_LoopLineRenderer = loopLineRenderer; m_PointDataPrefab = pointDataPrefab; m_SupportedStringEncoding = supportedEncoding; m_DbfReader = null; @@ -246,7 +248,14 @@ void DrawPolygonOrPolyline(IShape shape, int index, float lineWidth, GameObject lineRenderer.startWidth = lineWidth; // Set the start width lineRenderer.endWidth = lineWidth; lineRenderer.SetPositions(partPointsWorld.ToArray()); - lineRenderer.loop = true; + if (m_LoopLineRenderer) + { + lineRenderer.loop = true; + } + else + { + lineRenderer.loop = false; + } if (!string.IsNullOrEmpty(m_DbfFilePath) && dbfRead && dbfReader.GetRecordLength() == m_ListOfShapes.Count) { AttachMetadata(shpParentInstance, record); diff --git a/package.json b/package.json index cff9743..d750295 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "com.unity.plateautoolkit.maps", "displayName": "PLATEAU SDK-Maps-Toolkit for Unity", - "version": "1.0.1", + "version": "1.0.2", "unity": "2021.3", "description": "PLATEAUの3D都市モデルを用いた空間解析、可視化、建築情報との連携など、地図アプリ開発等を行うためのツールキットです。", "keywords": [