YamangTools.YamangDll.TransPickedTriangle C# (CSharp) Method

TransPickedTriangle() private method

private TransPickedTriangle ( float &pickedX, float &pickedZ, int &PickedTriPointA, int &PickedTriPointB, int &PickedTriPointC ) : Int32
pickedX float
pickedZ float
PickedTriPointA int
PickedTriPointB int
PickedTriPointC int
return System.Int32
        public static extern Int32 TransPickedTriangle(ref float pickedX, ref float pickedZ, ref int PickedTriPointA, ref int PickedTriPointB, ref int PickedTriPointC);

Usage Example

示例#1
0
        async private void Render()
        {
            while (!renderStop)
            {
                YamangDll.PreRendering();
                int curWidth    = Convert.ToInt32(GetNumber(MapHeightVal));
                int curHeight   = Convert.ToInt32(GetNumber(MapWidthVal));
                int curMapSpace = Convert.ToInt32(GetNumber(MapVertexSpacingVal));

                if ((preWidth != curWidth) || (preHeight != curHeight) || (preMapSpace != curMapSpace))
                {
                    meshSizeChanged = true;
                }

                if (meshSizeChanged)
                {
                    meshSizeChanged = false;

                    YamangDll.InitGroundMesh(curWidth, curHeight);
                    YamangDll.CreateRawGround(curWidth, curHeight, curMapSpace);
                }

                YamangDll.ToolViewSetting(RenderTarget.Size.Width, RenderTarget.Size.Height);

                if (mouseEventFlag)
                {
                    SetAction();

                    YamangDll.CalcPickingRay(mouseXPosition, mouseYPosition);
                    //YamangDll.TransPickedTriangle(ref returnedXPos, ref returnedZPos);
                    YamangDll.TransPickedTriangle(ref returnedXPos, ref returnedZPos, ref PickedTriPointA, ref PickedTriPointB, ref PickedTriPointC);

                    //이거 활용해서 해당 위치에 나무 같은거 뿌리면 될 듯
                    Console.WriteLine("A: " + PickedTriPointA + "\nB: " + PickedTriPointB + "\nC: " + PickedTriPointC);
                    Console.WriteLine("Xpos: " + returnedXPos + ", ZPos: " + returnedZPos);

                    YamangDll.MapToolPickingEvent(actionFlag, PickedTriPointA, PickedTriPointB, PickedTriPointC);

                    mouseEventFlag = false;
                }
                YamangDll.RenderHeightMap();
                YamangDll.PostRendering();

                preWidth    = curWidth;
                preHeight   = curHeight;
                preMapSpace = curMapSpace;

                await Task.Delay(10);
            }
        }