xml/Microsoft.Azure.Documents.Spatial/Polygon.xml (306 lines of code) (raw):
<Type Name="Polygon" FullName="Microsoft.Azure.Documents.Spatial.Polygon">
<TypeSignature Language="C#" Value="public sealed class Polygon : Microsoft.Azure.Documents.Spatial.Geometry, IEquatable<Microsoft.Azure.Documents.Spatial.Polygon>" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit Polygon extends Microsoft.Azure.Documents.Spatial.Geometry implements class System.IEquatable`1<class Microsoft.Azure.Documents.Spatial.Polygon>" />
<TypeSignature Language="DocId" Value="T:Microsoft.Azure.Documents.Spatial.Polygon" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class Polygon
Inherits Geometry
Implements IEquatable(Of Polygon)" />
<TypeSignature Language="F#" Value="type Polygon = class
 inherit Geometry
 interface IEquatable<Polygon>" />
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.14.0.0</AssemblyVersion>
<AssemblyVersion>2.14.1.0</AssemblyVersion>
<AssemblyVersion>2.15.0.0</AssemblyVersion>
<AssemblyVersion>2.16.0.0</AssemblyVersion>
<AssemblyVersion>2.16.1.0</AssemblyVersion>
<AssemblyVersion>2.16.2.0</AssemblyVersion>
<AssemblyVersion>2.17.0.0</AssemblyVersion>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.14.0.0</AssemblyVersion>
<AssemblyVersion>2.14.1.0</AssemblyVersion>
<AssemblyVersion>2.15.0.0</AssemblyVersion>
<AssemblyVersion>2.16.0.0</AssemblyVersion>
<AssemblyVersion>2.16.1.0</AssemblyVersion>
<AssemblyVersion>2.16.2.0</AssemblyVersion>
<AssemblyVersion>2.17.0.0</AssemblyVersion>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>Microsoft.Azure.Documents.Spatial.Geometry</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.IEquatable<Microsoft.Azure.Documents.Spatial.Polygon></InterfaceName>
</Interface>
</Interfaces>
<Docs>
<summary>
<para>
Polygon geometry class in the Azure Cosmos DB service.
</para>
<para>
A polygon is represented by the set of "polygon rings". Each ring is closed line string.
First ring defines external ring. All subsequent rings define "holes" in the external ring.
</para>
<para>
Rings must be specified using Left Hand Rule: traversing the ring in the order of its points, should result
in internal area of the polygon being to the left side.
</para>
</summary>
<remarks>To be added.</remarks>
<example>
This example shows how to define a polygon which covers small portion of the Earth:
<code language="c#"><![CDATA[
var polygon = new Polygon(
new[]
{
new Position(20.0, 20.0),
new Position(30.0, 20.0),
new Position(30.0, 30.0),
new Position(20.0, 30.0)
new Position(20.0, 20.0)
});
]]></code></example>
<example>
This example shows how to define a polygon which covers area more than one hemisphere:
(Notice that only order of coordinates was reversed).
<code language="c#"><![CDATA[
var polygon = new Polygon(
new[]
{
new Position(20.0, 20.0),
new Position(20.0, 30.0),
new Position(30.0, 30.0),
new Position(30.0, 20.0)
new Position(20.0, 20.0)
});
]]></code></example>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public Polygon (System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.LinearRing> rings);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Collections.Generic.IList`1<class Microsoft.Azure.Documents.Spatial.LinearRing> rings) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Spatial.Polygon.#ctor(System.Collections.Generic.IList{Microsoft.Azure.Documents.Spatial.LinearRing})" />
<MemberSignature Language="VB.NET" Value="Public Sub New (rings As IList(Of LinearRing))" />
<MemberSignature Language="F#" Value="new Microsoft.Azure.Documents.Spatial.Polygon : System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.LinearRing> -> Microsoft.Azure.Documents.Spatial.Polygon" Usage="new Microsoft.Azure.Documents.Spatial.Polygon rings" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="rings" Type="System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.LinearRing>" />
</Parameters>
<Docs>
<param name="rings">
<para>
Polygon rings.
</para>
<para>
First ring is external ring. Following rings define 'holes' in the polygon.
</para>
</param>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> class in the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public Polygon (System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.Position> externalRingPositions);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Collections.Generic.IList`1<class Microsoft.Azure.Documents.Spatial.Position> externalRingPositions) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Spatial.Polygon.#ctor(System.Collections.Generic.IList{Microsoft.Azure.Documents.Spatial.Position})" />
<MemberSignature Language="VB.NET" Value="Public Sub New (externalRingPositions As IList(Of Position))" />
<MemberSignature Language="F#" Value="new Microsoft.Azure.Documents.Spatial.Polygon : System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.Position> -> Microsoft.Azure.Documents.Spatial.Polygon" Usage="new Microsoft.Azure.Documents.Spatial.Polygon externalRingPositions" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="externalRingPositions" Type="System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.Position>" />
</Parameters>
<Docs>
<param name="externalRingPositions">
External polygon ring coordinates.
</param>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> class,
from external ring (the polygon contains no holes) in the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public Polygon (System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.LinearRing> rings, Microsoft.Azure.Documents.Spatial.GeometryParams geometryParams);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Collections.Generic.IList`1<class Microsoft.Azure.Documents.Spatial.LinearRing> rings, class Microsoft.Azure.Documents.Spatial.GeometryParams geometryParams) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Spatial.Polygon.#ctor(System.Collections.Generic.IList{Microsoft.Azure.Documents.Spatial.LinearRing},Microsoft.Azure.Documents.Spatial.GeometryParams)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (rings As IList(Of LinearRing), geometryParams As GeometryParams)" />
<MemberSignature Language="F#" Value="new Microsoft.Azure.Documents.Spatial.Polygon : System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.LinearRing> * Microsoft.Azure.Documents.Spatial.GeometryParams -> Microsoft.Azure.Documents.Spatial.Polygon" Usage="new Microsoft.Azure.Documents.Spatial.Polygon (rings, geometryParams)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="rings" Type="System.Collections.Generic.IList<Microsoft.Azure.Documents.Spatial.LinearRing>" />
<Parameter Name="geometryParams" Type="Microsoft.Azure.Documents.Spatial.GeometryParams" />
</Parameters>
<Docs>
<param name="rings">
Polygon rings.
</param>
<param name="geometryParams">
Additional geometry parameters.
</param>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> class in the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public bool Equals (Microsoft.Azure.Documents.Spatial.Polygon other);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(class Microsoft.Azure.Documents.Spatial.Polygon other) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Spatial.Polygon.Equals(Microsoft.Azure.Documents.Spatial.Polygon)" />
<MemberSignature Language="VB.NET" Value="Public Function Equals (other As Polygon) As Boolean" />
<MemberSignature Language="F#" Value="override this.Equals : Microsoft.Azure.Documents.Spatial.Polygon -> bool" Usage="polygon.Equals other" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.IEquatable`1.Equals(`0)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="other" Type="Microsoft.Azure.Documents.Spatial.Polygon" />
</Parameters>
<Docs>
<param name="other">
<see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> to compare to this <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" />.</param>
<summary>
Determines if this <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> is equal to the <paramref name="other" /> in the Azure Cosmos DB service.
</summary>
<returns>
<c>true</c> if objects are equal. <c>false</c> otherwise.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Spatial.Polygon.Equals(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function Equals (obj As Object) As Boolean" />
<MemberSignature Language="F#" Value="override this.Equals : obj -> bool" Usage="polygon.Equals obj" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="System.Object" />
</Parameters>
<Docs>
<param name="obj">The object to compare with the current object. </param>
<summary>
Determines whether the specified <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> is equal to the current <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> in the Azure Cosmos DB service.
</summary>
<returns>
true if the specified object is equal to the current object; otherwise, false.
</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetHashCode">
<MemberSignature Language="C#" Value="public override int GetHashCode ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Spatial.Polygon.GetHashCode" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetHashCode () As Integer" />
<MemberSignature Language="F#" Value="override this.GetHashCode : unit -> int" Usage="polygon.GetHashCode " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
Serves as a hash function for the <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" /> type in the Azure Cosmos DB service.
</summary>
<returns>
A hash code for the current <see cref="T:Microsoft.Azure.Documents.Spatial.Polygon" />.
</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Rings">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.Azure.Documents.Spatial.LinearRing> Rings { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.ObjectModel.ReadOnlyCollection`1<class Microsoft.Azure.Documents.Spatial.LinearRing> Rings" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Spatial.Polygon.Rings" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Rings As ReadOnlyCollection(Of LinearRing)" />
<MemberSignature Language="F#" Value="member this.Rings : System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.Azure.Documents.Spatial.LinearRing>" Usage="Microsoft.Azure.Documents.Spatial.Polygon.Rings" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Newtonsoft.Json.JsonProperty("coordinates", Order=1, Required=Newtonsoft.Json.Required.Always)]</AttributeName>
<AttributeName Language="F#">[<Newtonsoft.Json.JsonProperty("coordinates", Order=1, Required=Newtonsoft.Json.Required.Always)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.Azure.Documents.Spatial.LinearRing></ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the polygon rings in the Azure Cosmos DB service.
</summary>
<value>
Polygon rings.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>