本文整理汇总了C#中Point2.SetPrevEdge方法的典型用法代码示例。如果您正苦于以下问题:C# Point2.SetPrevEdge方法的具体用法?C# Point2.SetPrevEdge怎么用?C# Point2.SetPrevEdge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Point2
的用法示例。
在下文中一共展示了Point2.SetPrevEdge方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetJunctionType
public void SetJunctionType(int index, JunctionType junction)
{
Point2 selectedPoint = _points[index];
if (selectedPoint.GetJunction () != junction)
{
if (junction == JunctionType.Curved)
{
ArchedPoint2 ap = new ArchedPoint2 (selectedPoint);
_points[index] = ap;
}
else if (junction == JunctionType.Broken)
{
Point2 newPoint = new Point2 (selectedPoint);
newPoint.SetPrevEdge (selectedPoint.GetPrevEdge ());
newPoint.SetNextEdge (selectedPoint.GetNextEdge ());
Edge2 prevEdge = newPoint.GetPrevEdge ();
if (prevEdge != null)
{
prevEdge.SetNextPoint2 (newPoint);
}
Edge2 nextEdge = newPoint.GetNextEdge ();
if (nextEdge != null)
{
nextEdge.SetPrevPoint2 (newPoint);
}
_points[index] = newPoint;
}
}
}
示例2: Polygon
public Polygon(PolygonRawData polygonRawData)
{
_closed = true;
float area = 0;
for (int i = 0; i < polygonRawData.Count; ++i)
{
Vector2 p1 = polygonRawData[i];
Vector2 p2 = polygonRawData[i + 1];
area += p1.x * p2.y - p2.x * p1.y;
}
if (area > 0)
{
polygonRawData.Reverse ();
}
//Debug.Log ("AREA " + area);
Edge2 prevEdge = null;
Point2 prevPt = null;
Point2 currentPt = null;
for (int i = 0; i < polygonRawData.Count - 1; ++i)
{
Vector2 rawPt = polygonRawData[i];
if (currentPt == null)
{
//currentPt = new Point2 (rawPt);
currentPt = new Point2 ();
currentPt.Set(
rawPt.x,
rawPt.y);
}
Point2 nextPt = new Point2 (polygonRawData[i + 1]);
if (i == polygonRawData.Count - 2 && polygonRawData.Count > 2)
{
nextPt = _points[0].GetPrevEdge ().GetPrevPoint2 ();
//nextPt = (Point2)_points[0].GetPrevEdge ().GetPrevPoint2 ().Clone();
//nextPt = new Point2();
nextPt.Set(
_points[0].GetPrevEdge ().GetPrevPoint2 ().GetX(),
_points[0].GetPrevEdge ().GetPrevPoint2 ().GetY());
}
if (prevEdge == null)
{
if (prevPt == null)
{
//prevPt = new Point2 (polygonRawData[i - 1]);
prevPt = new Point2 ();
prevPt.Set(
polygonRawData[i - 1].x,
polygonRawData[i - 1].y);
}
prevEdge = new Edge2 (prevPt, currentPt);
prevPt.SetNextEdge (prevEdge);
}
Edge2 nextEdge = new Edge2 (currentPt, nextPt);
// if (i == polygonRawData.Count - 1)
// {
// nextEdge = _points[0].GetPrevEdge ();
// }
currentPt.SetEdges (prevEdge, nextEdge);
_points.Add (currentPt);
_edges.Add (nextEdge);
if (i == polygonRawData.Count - 2 && polygonRawData.Count >= 2)
{
nextPt.SetPrevEdge (nextEdge);
_edges.Add (nextPt.GetNextEdge ());
_points.Add (nextPt);
}
prevEdge = nextEdge;
prevPt = currentPt;
currentPt = nextPt;
}
if (_edges.Count == 2 && _points.Count == 2)
{
_points[0].SetPrevEdge (null);
_points[1].SetNextEdge (null);
_edges.RemoveAt (1);
}
UpdateBounds ();
}
示例3: Start
// Use this for initialization
void Start()
{
_iosShadows = GameObject.Find("iosShadows");
if(_backgroundImg == null) Debug.LogError(DEBUGTAG+"Background Image"+PC.MISSING_REF);
GameObject cameraGameObject = GameObject.Find ("PlanCamera");
_planCamera = cameraGameObject.GetComponent<Camera>();
_mainCamera = GameObject.Find ("mainCam");
_renderCamera = Camera.main;
_polyDrawer = cameraGameObject.GetComponent <PolygonDrawer> ();
_snapper = cameraGameObject.GetComponent <Snapper> ();
_planTransformation = cameraGameObject.GetComponent <PlanTransformation> ();
_planCamera.GetComponent<Camera>().enabled = false;
_polyDrawer.enabled = false;
_planTransformation.enabled = false;
enabled = false;
Point2 prevBgPoint = new Point2 (UnityEngine.Screen.width / 2 - 50, UnityEngine.Screen.height / 2);
Point2 nextBgPoint = new Point2 (UnityEngine.Screen.width / 2 + 50, UnityEngine.Screen.height / 2);
_backgroundEdge = new Edge2 (prevBgPoint, nextBgPoint);
prevBgPoint.SetNextEdge (_backgroundEdge);
nextBgPoint.SetPrevEdge (_backgroundEdge);
}
示例4: AddPoint
public void AddPoint(Point2 point)
{
if (_points.Count > 0)
{
Point2 lastPoint = _points[_points.Count - 1];
Edge2 edge = new Edge2 (lastPoint, point);
_edges.Add (edge);
lastPoint.SetNextEdge (edge);
point.SetPrevEdge (edge);
}
_points.Add (point);
point.Update ();
UpdateBounds ();
}
示例5: Start
// Use this for initialization
void Start()
{
//NEW UI ----------------------------------------------
m_headerRect = new Rect(0,0,Screen.width,m_btnH);
m_drawRect = new Rect(0,-m_drawMenus.Length* m_btnH,m_btnWL,m_drawMenus.Length* m_btnH);
m_tmpDrawRect = new Rect(0,m_btnH,m_btnWL,m_btnH);
// m_planRect = new Rect(m_btnW,-m_planMenus.Length* m_btnH,m_btnWL,m_planMenus.Length* m_btnH);
m_planRect = new Rect(m_btnW,-m_planMenus.Length* m_btnH,m_btnWL,m_btnH);
m_tmpPlanRect = new Rect(0,m_btnH,m_btnWL,m_btnH);
m_paramRect = new Rect(2*m_btnW,-m_paramMenus.Length* m_btnH,m_btnWL*1.25f,m_paramMenus.Length* m_btnH);
m_tmpParamRect = new Rect(0,m_btnH,m_btnWL*1.25f,m_btnH);
m_mainView = new Rect(0,m_btnH,Screen.width,Screen.height-(2*m_btnH));
m_askRect = new Rect(Screen.width/3f,Screen.height/4f,Screen.width/3f,Screen.height/4f);
//NEW UI ----------------------------------------------
if(_backgroundImg == null) Debug.LogError(DEBUGTAG+"Background Image"+PC.MISSING_REF);
GameObject cameraGameObject = GameObject.Find ("PlanCamera");
_planCamera = cameraGameObject.GetComponent<Camera>();
_mainCamera = GameObject.Find ("mainCam");
_renderCamera = Camera.main;
_polyDrawer = cameraGameObject.GetComponent <PolygonDrawer> ();
_snapper = cameraGameObject.GetComponent <Snapper> ();
_planTransformation = cameraGameObject.GetComponent <PlanTransformation> ();
_planCamera.GetComponent<Camera>().enabled = false;
_polyDrawer.enabled = false;
_planTransformation.enabled = false;
enabled = false;
Point2 prevBgPoint = new Point2 (UnityEngine.Screen.width / 2 - 50, UnityEngine.Screen.height / 2);
Point2 nextBgPoint = new Point2 (UnityEngine.Screen.width / 2 + 50, UnityEngine.Screen.height / 2);
_backgroundEdge = new Edge2 (prevBgPoint, nextBgPoint);
prevBgPoint.SetNextEdge (_backgroundEdge);
nextBgPoint.SetPrevEdge (_backgroundEdge);
}