Class REdge
Inheritance
System.Object
REdge
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 REdge : ARnParts<REdge>
Constructors
REdge(RVertex, RVertex)
Declaration
public REdge(RVertex v0, RVertex v1)
Parameters
Properties
Faces
Declaration
public IReadOnlyCollection<RFace> Faces { get; }
Property Value
| Type |
Description |
| IReadOnlyCollection<RFace> |
|
IsValid
有効な辺かどうか. 2つの頂点が存在して、かつ異なるかどうか
Declaration
public bool IsValid { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
V0
Declaration
public RVertex V0 { get; }
Property Value
V1
Declaration
public RVertex V1 { get; }
Property Value
Vertices
Declaration
public IReadOnlyList<RVertex> Vertices { get; }
Property Value
| Type |
Description |
| IReadOnlyList<RVertex> |
|
Methods
AddFace(RFace)
Declaration
public void AddFace(RFace face)
Parameters
| Type |
Name |
Description |
| RFace |
face |
|
ChangeVertex(RVertex, RVertex)
頂点from -> toに変更する
fromを持っていない場合は無視
変更した結果両方ともtoになる場合は接続が解除される
Declaration
public void ChangeVertex(RVertex from, RVertex to)
Parameters
Contains(RVertex)
Declaration
public bool Contains(RVertex vertex)
Parameters
| Type |
Name |
Description |
| RVertex |
vertex |
|
Returns
| Type |
Description |
| System.Boolean |
|
DisConnect()
Declaration
GetNeighborEdges()
Declaration
public IEnumerable<REdge> GetNeighborEdges()
Returns
| Type |
Description |
| IEnumerable<REdge> |
|
GetOppositeVertex(REdge)
edgeと共通する頂点がある場合, 反対側の頂点を返す.
共有しない場合はnullを返す
edgeが同じ辺の場合はnullを返す
Declaration
public RVertex GetOppositeVertex(REdge edge)
Parameters
| Type |
Name |
Description |
| REdge |
edge |
|
Returns
GetOppositeVertex(RVertex)
vertexと反対側の頂点を取得する. vertexが含まれていない場合はnullを返す
Declaration
public RVertex GetOppositeVertex(RVertex vertex)
Parameters
| Type |
Name |
Description |
| RVertex |
vertex |
|
Returns
GetVertex(REdge.VertexType)
Declaration
public RVertex GetVertex(REdge.VertexType type)
Parameters
Returns
IsSameVertex(REdge)
Declaration
public bool IsSameVertex(REdge other)
Parameters
| Type |
Name |
Description |
| REdge |
other |
|
Returns
| Type |
Description |
| System.Boolean |
|
IsSameVertex(RVertex, RVertex)
同じ頂点を参照しているかどうか. (順序は問わない)
Declaration
public bool IsSameVertex(RVertex v0, RVertex v1)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
IsShareAnyVertex(REdge)
Declaration
public bool IsShareAnyVertex(REdge other)
Parameters
| Type |
Name |
Description |
| REdge |
other |
|
Returns
| Type |
Description |
| System.Boolean |
|
IsShareAnyVertex(REdge, out RVertex)
Declaration
public bool IsShareAnyVertex(REdge other, out RVertex sharedVertex)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
MergeTo(REdge, Boolean)
Declaration
public void MergeTo(REdge dst, bool checkFaceMerge = true)
Parameters
| Type |
Name |
Description |
| REdge |
dst |
|
| System.Boolean |
checkFaceMerge |
|
RemoveFace(RFace)
基本呼び出し禁止. 面のつながりを消す(親のFaceからのみ呼び出す)
Declaration
public void RemoveFace(RFace face)
Parameters
| Type |
Name |
Description |
| RFace |
face |
|
RemoveVertex(RVertex)
Declaration
public void RemoveVertex(RVertex vertex)
Parameters
| Type |
Name |
Description |
| RVertex |
vertex |
|
SetVertex(REdge.VertexType, RVertex)
Declaration
public void SetVertex(REdge.VertexType type, RVertex vertex)
Parameters
SplitEdge(RVertex)
vで2つに分割する, 元のedgeはV0->v, 新しいEdgeはv->V1になる. 新しいEdgeを返す
Declaration
public REdge SplitEdge(RVertex v)
Parameters
Returns
TryGetOppositeVertex(RVertex, out RVertex)
vertexと反対側の頂点を取得する. vertexが含まれていない場合はnullを返す
Declaration
public bool TryGetOppositeVertex(RVertex vertex, out RVertex opposite)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|