Class RnLane
Inheritance
System.Object
RnLane
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Assembly: cs.temp.dll.dll
Syntax
public class RnLane : ARnParts<RnLane>
Constructors
RnLane()
Declaration
RnLane(RnWay, RnWay, RnWay, RnWay)
Declaration
public RnLane(RnWay leftWay, RnWay rightWay, RnWay prevBorder, RnWay nextBorder)
Parameters
Properties
AllBorders
Prev/Nextの境界線を返す(nullの物は含まない)
Declaration
public IEnumerable<RnWay> AllBorders { get; }
Property Value
| Type |
Description |
| IEnumerable<RnWay> |
|
AllWays
Border/Side両方合わせた全てのWayを返す
Declaration
public IEnumerable<RnWay> AllWays { get; }
Property Value
| Type |
Description |
| IEnumerable<RnWay> |
|
Attributes
Declaration
public RnLaneAttribute Attributes { get; set; }
Property Value
BothWays
Declaration
public IEnumerable<RnWay> BothWays { get; }
Property Value
| Type |
Description |
| IEnumerable<RnWay> |
|
HasBothBorder
Declaration
public bool HasBothBorder { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
IsBothConnectedLane
Declaration
public bool IsBothConnectedLane { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
IsEmptyLane
Declaration
public bool IsEmptyLane { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
自分が中央分離帯かどうか. 親がないときはfalseになる
Declaration
public bool IsMedianLane { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
IsReversed
Declaration
public bool IsReversed { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
IsValidWay
有効なレーンかどうか
Left/Rightどっちも有効ならtrue
Declaration
public bool IsValidWay { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
LeftWay
Declaration
public RnWay LeftWay { get; }
Property Value
NextBorder
Declaration
public RnWay NextBorder { get; }
Property Value
Parent
Declaration
public RnRoad Parent { get; set; }
Property Value
Points
Declaration
public IEnumerable<RnPoint> Points { get; }
Property Value
| Type |
Description |
| IEnumerable<RnPoint> |
|
PrevBorder
Declaration
public RnWay PrevBorder { get; }
Property Value
RightWay
Declaration
public RnWay RightWay { get; }
Property Value
Methods
AlignBorder(RnLaneBorderDir)
Borderの向きをborderDirになるようにそろえる
Declaration
public void AlignBorder(RnLaneBorderDir borderDir = RnLaneBorderDir.Left2Right)
Parameters
Check()
Declaration
Returns
| Type |
Description |
| System.Boolean |
|
CreateCenterWay()
Declaration
public RnWay CreateCenterWay()
Returns
CreateEmptyLane(RnWay, RnWay)
Declaration
public static RnLane CreateEmptyLane(RnWay border, RnWay centerWay)
Parameters
| Type |
Name |
Description |
| RnWay |
border |
|
| RnWay |
centerWay |
|
Returns
CreateOneWayLane(RnWay)
Declaration
public static RnLane CreateOneWayLane(RnWay way)
Parameters
| Type |
Name |
Description |
| RnWay |
way |
|
Returns
DisConnectBorder()
Declaration
public void DisConnectBorder()
GetBorder(RnLaneBorderType)
Declaration
public RnWay GetBorder(RnLaneBorderType type)
Parameters
Returns
GetBorder(RnLaneBorderType, RnLaneBorderDir)
境界線を取得. その時方向がdirになるように調整
Declaration
public RnWay GetBorder(RnLaneBorderType type, RnLaneBorderDir dir)
Parameters
Returns
GetBorderDir(RnLaneBorderType)
Declaration
public RnLaneBorderDir? GetBorderDir(RnLaneBorderType type)
Parameters
Returns
GetConnectedLanes(RnLaneBorderType)
Declaration
public IEnumerable<RnLane> GetConnectedLanes(RnLaneBorderType type)
Parameters
Returns
| Type |
Description |
| IEnumerable<RnLane> |
|
GetConnectedRoads(RnLaneBorderType)
Declaration
public IEnumerable<RnRoadBase> GetConnectedRoads(RnLaneBorderType type)
Parameters
Returns
GetNextLanes()
Declaration
public IEnumerable<RnLane> GetNextLanes()
Returns
| Type |
Description |
| IEnumerable<RnLane> |
|
GetNextRoad()
このレーン接続先のRnRoadBaseを取得.ParentのNext/Prevとは逆になる可能性がある.
ParentのPrev/NextとBorderの一致判定により求める
Declaration
public RnRoadBase GetNextRoad()
Returns
GetNextRoads()
Declaration
public IEnumerable<RnRoadBase> GetNextRoads()
Returns
GetPrevLanes()
Declaration
public IEnumerable<RnLane> GetPrevLanes()
Returns
| Type |
Description |
| IEnumerable<RnLane> |
|
GetPrevRoad()
このレーン接続元のRnRoadBaseを取得. ParentのNext/Prevとは逆になる可能性がある.
ParentのPrev/NextとBorderの一致判定により求める
Declaration
public RnRoadBase GetPrevRoad()
Returns
GetPrevRoads()
Declaration
public IEnumerable<RnRoadBase> GetPrevRoads()
Returns
GetSideWay(RnDir)
Declaration
public RnWay GetSideWay(RnDir dir)
Parameters
| Type |
Name |
Description |
| RnDir |
dir |
|
Returns
Replace2Clone(RnDir, Boolean)
dirのWayをクローンしてそっちに置き換える。
cloneVertex = trueの時は内部頂点もクローンする
戻り値はもとのWay
Declaration
public RnWay Replace2Clone(RnDir dir, bool cloneVertex = true)
Parameters
| Type |
Name |
Description |
| RnDir |
dir |
|
| System.Boolean |
cloneVertex |
|
Returns
Reverse()
Declaration
SetBorder(RnLaneBorderType, RnWay)
境界線の再設定.
データを直接書き換えるので使い方注意.
親Roadが持つ他のレーンや隣接するIntersectionとの整合性を保つようにする事
Declaration
public void SetBorder(RnLaneBorderType type, RnWay way)
Parameters
SetSideWay(RnDir, RnWay)
dirのWayを置き換える.
データを直接書き換えるので使い方注意.
親Roadが持つ他のレーンや隣接するIntersectionとの整合性を保つようにする事
Declaration
public void SetSideWay(RnDir dir, RnWay way)
Parameters
SetSideWays(RnWay, RnWay)
Declaration
public void SetSideWays(RnWay leftWay, RnWay rightWay)
Parameters
| Type |
Name |
Description |
| RnWay |
leftWay |
|
| RnWay |
rightWay |
|