XDL Manual (piXoneer XDL Tutorial)
Pixoneer.NXDL.NSCENEÀÇ ´Ù¾çÇÑ scene °´Ã¼¸¦ »ý¼º/ÆíÁý µîÀ» ¾Ë¾Æº¸°í, NXPlanetLayerSceneEditor¿Í NXPlanetLayerSceneDisplay ·¹À̾ ÀÌ¿ëÇÏ¿© Planet 2D/3D ȯ°æ¿¡¼ scene °´Ã¼¸¦ ´Ù·ç´Â ¹æ¹ýÀ» ±¸ÇöÇØ º¸µµ·Ï ÇÕ´Ï´Ù
2017. 01. ¼öÁ¤ 2019. 02.
|
1 »ç¿ëÇϱâ
1.1 XDL ¿£Áø¼³Ä¡ ÇÁ·Î±×·¥À¸·Î ¹èÆ÷µÇ´Â XDL ¿£ÁøÀº Visual Studio 2010 x86 Release ¹öÀüÀ¸·Î, Visual Studio 2010 ÀÌ»óÀÇ ¹öÀü¿¡¼ »ç¿ë °¡´ÉÇÏ´Ù. ¾Æ·¡ÀÇ ¼³¸íÀº Visual Studio 2010ÀÇ Debug¸¦ ±âÁØÀ¸·Î ÇϰڴÙ. 2 NXPlanetView¸¦ ÀÌ¿ëÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ ¸¸µé±âl º» ¿¹Á¦ ÇÁ·Î±×·¥Àº Pixoneer.NXDL.NSCENEÀÇ Scene °´Ã¼ »ý¼º ¹× ÆíÁý µîÀ» ¾Ë¾Æº¸°í PlanetView¿¡¼ÀÇ scene °´Ã¼¸¦ ´Ù·ç´Â NXPlanetLayerSceneDisplay¿Í NXPlanetLayerSceneEditor¸¦ »ìÆìº¸µµ·Ï ÇÑ´Ù. PlanetView2D¿¡ NXPlanetLayerSceneEditor¸¦ Ãß°¡Çϰí, PlanetView3D¿¡ NXPlanetLayerSceneDisplay¸¦ Ãß°¡ÇÑ µÚ, PlanetView2D¿¡¼ Scene °´Ã¼¸¦ Ãß°¡ÇÏ°í ÆíÁýÇÑ µÚ ÆÄÀÏ·Î ÀúÀåÇϰí, À̸¦ PlanetView3D¿¡ ·ÎµùÇÏ¿© µµ½ÃÇÏ´Â ±â´ÉÀ» ±¸ÇöÇϵµ·Ï ÇÑ´Ù. l NXPlanetLayerSceneEditor´Â PlanetViewÀÇ 2D ¸ðµå¿¡¼¸¸ »ç¿ë °¡´ÉÇÏ´Ù. 2.1 ±âº» ÇÁ·Î±×·¥ ÀÛ¼º2.1.1 Visual Studio 2010À» ÀÌ¿ëÇÏ¿© ¿¹Á¦ ¡°XDL_PlanetView2¡±ÀÇ ¡°±âº» ÇÁ·Î±×·¥ ÀÛ¼º¡± ¹æ¹ýÀ» Âü°í·Î ±âº» ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù.ÇÁ·ÎÁ§Æ® À̸§Àº ¡°XDL_PlanetView3¡±·Î ÇÑ´Ù.
2.1.2 Pixoneer.NXDL.NCC¿Í Pixoneer.NXDL.NCENEÀ» ÀÌ¿ëÇϱâ À§Çؼ ¡°NXDLcc.dll¡±, ¡°NXDLscene.dll¡±À» ÇÁ·ÎÁ§Æ®ÀÇ ÂüÁ¶·Î Ãß°¡ÇÑ´Ù.
2.1.3 Scene °´Ã¼ Ãß°¡/ÆíÁý µî scene °´Ã¼¸¦ ´Ù·ç±â À§Çؼ ½ÇÇàÆú´õ¿¡ CC Driver¸¦ º¹»çÇÑ´Ù.º» ¿¹Á¦ ÇÁ·Î±×·¥Àº XScene °´Ã¼ÀÇ ÁÂÇ¥°è Á¤º¸°¡ ÀÖ´Â XSpatialReference¸¦ ÀÌ¿ëÇϱ⠶§¹®¿¡ À̸¦ À§ÇØ CCDrivers Æú´õ¸¦ ½ÇÇàÆú´õ¿¡ º¹»çÇØ ÁÖ¾î¾ß ÇÑ´Ù. XDL ¶óÀ̺귯¸®°¡ ¼³Ä¡µÈ °æ·Î(c:\Pixoneer\XDL1.2\bin)·Î À̵¿ÇÏ¿© ¡°CCDrivers¡± Æú´õ¸¦ º¹»çÇÏ¿© º» ¿¹Á¦ ÇÁ·Î±×·¥ÀÇ ½ÇÇà Æú´õ(.\XDL_PlanetView3\bin\Debug\)¿¡ º¹»çÇÏ¿© ³Ö´Â´Ù.
2.2 ÇÁ·Î±×·¥ µðÀÚÀÎ
2.2.1 [µµ±¸ »óÀÚ]ÀÇ ¡°ToolStrip¡±¸¦ ¼±ÅÃÇϰí Form1¿¡ ²ø¾î´Ù°¡ ³õ´Â´Ù.
Form1¿¡ toolStrip1ÀÌ Ãß°¡µÈ´Ù. toolStrip1ÀÇ
Ãß°¡µÈ ToolStripButtonÀ» ¼±ÅÃÇÑ ÈÄ [¼Ó¼º] â¿¡ DisplayType¸¦ ¡°Text¡±·Î ¼±ÅÃÇϰí, Name, Text¸¦ ¼öÁ¤ÇÑ´Ù.
º» ¿¹Á¦ ÇÁ·Î±×·¥ÀÇ ToolStrip ±¸¼ºÀº ¾Æ·¡¿Í °°´Ù.
2.3 ±â´É ¹× À̺¥Æ® Ãß°¡2.3.1 Form1ÀÇ »ý¼ºÀÚ¿¡ NXPlanetSceneDisplay nxSceneLayerDisplay, NXPlanetSceneEditor nxSceneLayerEditor¸¦ »ý¼ºÇÑ´Ù.µÎ ¸â¹öº¯¼ö´Â Form1.Designer.cs¿¡ Ãß°¡Çϵµ·Ï ÇϰڴÙ. ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3.2 Form1ÀÇ Load À̺¥Æ® ÇÔ¼ö¿¡¼ nxSceneLayerDisplay¿Í nxSceneLayerEditor¸¦ nxPlanetView2D¿Í nxPlanetView3D¿¡ °¢°¢ Ãß°¡Çϰí Ä«¸Þ¶ó¸¦ ¼³Á¤ÇÑ´Ù. º» ¿¹Á¦¿¡¼´Â nxPlanetView2DÀÇ RotatableÀº false·Î, ShowGridµµ false·Î ¼³Á¤ÇÑ´Ù.
2.3.3 Form1ÀÇ Closed À̺¥Æ®(FormClosed) ÇÔ¼ö¸¦ »ý¼ºÇÏ¿© scene °´Ã¼ ¸Þ¸ð¸® ÇØÁö¸¦ À§ÇØ Äڵ带 Ãß°¡ÇÑ´Ù.
2.3.4 Scene °´Ã¼¸¦ Ãß°¡Çϱâ À§ÇÑ ToolStripButtonÀÎ pointToolStripButton, polylineToolStripButton, polygonToolStripButton, circleToolStripButton, symbolToolStripButtonÀ» ¼±ÅÃÇÑ µÚ °¢°¢ ´õºí Ŭ¸¯ÇÏ¿© Click À̺¥Æ® ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.pointToolStripButtonÀÇ °æ¿ì ¾Æ·¡ ±×¸²°ú °°ÀÌ pointToolStripButton_Click ÇÔ¼ö°¡ Ãß°¡µÈ´Ù.
2.3.5 Scene °´Ã¼ Ãß°¡ À̺¥Æ® ÇÔ¼ö¿¡ nxSceneLayerEditor¿¡ »õ·Î¿î scene °´Ã¼¸¦ »ý¼ºÇϵµ·Ï ¿äûÇÏ´Â Äڵ带 ±¸ÇöÇÑ´Ù.NXPlanetLayerSceneEditorÀÇ CreateNewOBJ¸¦ ÅëÇØ ¸Å°³º¯¼ö¿¡ µû¸¥ scene °´Ã¼¸¦ »ý¼ºÇÏ¿© Ãß°¡ ¹× ÆíÁý °úÁ¤À» ÁøÇàÇÑ´Ù. CreatNewOBJ¿¡ ÀԷ°ªÀº scene °´Ã¼ÀÇ Å¬·¡½º À̸§ÀÌ´Ù. Point, polyline, polygon, circle, symbolÀÇ °´Ã¼ Ãß°¡ ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3.6 ¼Ö·ç¼ÇÀ» ºôµåÇÏ°í ½ÇÇàÇÑ´Ù.ToolStrip Áß ¡°Polyline¡±À» ¼±ÅÃÇÑ ÈÄ ÇÁ·Î±×·¥ÀÇ 2D PlanetView¿¡¼ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» Ŭ¸¯ÇÏ°í ¸¶¿ì½º¸¦ ¿òÁ÷ÀÌ¸é »ý¼ºµÈ PolylineÀ» È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç 2Á¡ ÀÌ»óÀÌ µÇ¸é ¡°No named XscPolyLine¡± À̶ó´Â À̸§°ú ÇÔ²² µµ½ÃµÇ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù.
Á¤Á¡À» Ãß°¡ÇÏ´Â °ÍÀº ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¸é µÇ°í, »ý¼º ÀÛ¾÷À» Á¾·áÇÏ·Á¸é ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´õºí Ŭ¸¯ÇÏ¸é µÈ´Ù. »ý¼ºÀÛ¾÷À» Á¾·áÇÏ¸é ¾Æ·¡¿Í °°ÀÌ °´Ã¼ÀÇ Á¤Á¡ À§Ä¡ Á¶Á¤, Å©±â Á¶Á¤À» ÇÒ ¼ö ÀÖ´Â ÄÁÆ®·ÑµéÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
°¢ °´Ã¼´Â ±âº» µµ½Ã ¼Ó¼ºÁ¤º¸¸¦
ÀÌ¿ëÇÏ¿© »ý¼ºµÈ´Ù. SymbolÀÇ °æ¿ì, 2.3.7 nxSceneLayerEditor¿¡ OnObjectCreated À̺¥Æ®¸¦ Ãß°¡ÇÏ¿© XDL ¿£Áø ³»ºÎ¿¡¼ °´Ã¼ »ý¼º ¿Ï·á ½ÃÁ¡¿¡ °¢ °´Ã¼¿¡ ´ëÇÑ µµ½Ã ¼Ó¼ºÀ» º¯°æÇØ º»´Ù.nxSceneLayerEditor »ý¼ºÀÚ ´ÙÀ½¿¡ ¾Æ·¡¿Í °°ÀÌ OnObjectCreated À̺¥Æ®¸¦ Ãß°¡ÇÑ´Ù.
nxSceneLayerEditor_OnObjectCreated ÇÔ¼ö¿¡ ¾Æ·¡¿Í °°ÀÌ µµ½Ã ¼Ó¼º Äڵ带 Ãß°¡ÇÑ´Ù.
2.3.8 nxPlanetView2D¿¡ »ý¼ºÇÑ scene °´Ã¼¸¦ ÆÄÀÏ·Î ÀúÀåÇϱâ À§ÇØ ToolStripÀÇ saveToFileToolStripButtonÀ» ´õºí Ŭ¸¯ÇÏ¿© À̺¥Æ®ÇÔ¼ö¸¦ Ãß°¡Çϰí Äڵ带 ±¸ÇöÇÑ´Ù.¸¶¿ì½º·Î ´õºí Ŭ¸¯ÇÏ¸é ¡°Click¡±¿¡ ´ëÇÑ À̺¥Æ® ÇÔ¼ö°¡ ÀÚµ¿ Ãß°¡µÈ´Ù.
nxSceneEditorÀÇ XScene °´Ã¼¸¦ ¾ò¾î ÆÄÀÏ·Î ÀúÀåÇÑ´Ù. XDL ¿£ÁøÀÇ Scene ÆÄÀÏÀº SMLÀ» È®ÀåÀÚ·Î ÇÏ´Â XML ÆÄÀÏÀÌ´Ù. ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3.9 Scene ÆÄÀÏÀÎ SML ÆÄÀÏÀ» ¼±ÅÃÇÏ¿© Planet 3D ȯ°æ¿¡ µµ½ÃÇϵµ·Ï ÇÑ´Ù. À̸¦ À§ÇÑ loadFileToolStripButtonÀ» ´õºí Ŭ¸¯ÇÏ¿© Click À̺¥Æ®ÇÔ¼ö¸¦ Ãß°¡ÇÏ°í ÆÄÀÏÀ» ·ÎµùÇÏ´Â Äڵ带 Ãß°¡ÇÑ´Ù.¸¶¿ì½º·Î ´õºí Ŭ¸¯ÇÏ¸é ¡°Click¡±¿¡ ´ëÇÑ À̺¥Æ® ÇÔ¼ö°¡ ÀÚµ¿ Ãß°¡µÈ´Ù.
SML ÆÄÀÏÀ» NXPlayetLayerSceneDispalyÀÇ Open ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ·ÎµùÇϸé NXPlanetLayerSceneDisplayÀÇ scene µ¥ÀÌÅͰ¡ ÆÄÀÏÀÇ ³»¿ëÀ¸·Î °»½ÅµÈ´Ù. º» ¿¹Á¦¿¡¼´Â NXPlanetLayerSceneDisplay º¯¼öÀÎ nxSceneLayerDisplayÀÇ Open ÇÔ¼ö¸¦ ÅëÇØ SML ÆÄÀÏÀ» ·ÎµùÇÑ ÈÄ XScene °´Ã¼¸¦ ¾ò¾î¼ µµ½Ã ¼ø¼¸¦ ¼³Á¤ÇÑ´Ù. XScene¿¡ Ãß°¡µÈ scene °´Ã¼¸¦ Ãß°¡µÈ ¼ø¼´ë·Î µµ½ÃÇϰíÀÚ Çϸé, XScene °´Ã¼¸¦ ¾ò¾î DisplayOrder¸¦ OrderByAddSequence·Î ¼öÁ¤ÇÑ´Ù. XSceneÀÇ DisplayOrder ±âº»°ªÀº OrderNoneÀ¸·Î, OrderNone, OrderByAddSequence, OrderByUserSequence°¡ ÀÖ´Ù. ÄÚµå´Â ¾Æ·¡¿Í °°´Ù.
2.3.10 ¼Ö·ç¼ÇÀ» ºôµåÇÏ°í ½ÇÇàÇÑ´Ù.»ùÇà ÇÁ·ÎÁ§Æ®¿Í ÇÔ²² ¹èÆ÷µÈ ÆÄÀÏÀÎ test.sml ÆÄÀÏÀ» ·ÎµùÇØ º»´Ù.
|