Exemple #1
0
		/// <inheritdoc/>
		public abstract T this[Topology.HalfEdge e] { get; set; }
Exemple #2
0
		/// <inheritdoc/>
		public override T this[Topology.HalfEdge e]
		{
			get { return constant; }
			set { throw new NotSupportedException("Values of a constant vertex attribute cannot be changed."); }
		}
Exemple #3
0
		/// <summary>
		/// Accesses the vertex attribute value in the array corresponding to the vertex of the given edge.
		/// </summary>
		/// <param name="e">The edge whose vertex's attribute value is to be accessed.</param>
		/// <returns>The vertex attribute value corresponding to the vertex of the given edge.</returns>
		public T this[Topology.HalfEdge e]
		{
			get { return array[e.vertex.index]; }
			set { array[e.vertex.index] = value; }
		}
 /// <summary>
 /// Lookup the attribute value for the vertex of the edge indicated, wrapping according to the attribute's surface if necessary.
 /// </summary>
 /// <param name="e">The edge whose vertex's attribute value is desired.</param>
 /// <returns>The attribute value for the vertex of the edge indicated, relative to the edge.</returns>
 /// <remarks><para>To get the raw value unwrapped, see <see cref="P:MakeIt.Tile.VertexArrayAttribute`1.Item(MakeIt.Tile.Topology.Vertex)"/></para></remarks>
 public override Vector3 this[Topology.HalfEdge e]
 {
     get { return(surface.OffsetEdgeToVertAttribute(array[e.vertex.index], e.wrap)); }
     set { array[e.vertex.index] = surface.ReverseOffsetEdgeToVertAttribute(array[e.vertex.index], e.wrap); }
 }