    

 ## On this page

  

 

 # Class OrientationThreePoints

 Last update: 16.07.2025 

Namespace: [VM.Managed](VM.Managed.md)  
Assembly: VMAppCore.dll

This class is to represent the information of orientation through origin, z, and x points.

```csharp
public class OrientationThreePoints : OrientationBase, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IExpression, IOrientationBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← [LinkContainer](VM.Managed.LinkContainer.md) ← [Expression](VM.Managed.Expression.md) ← [OrientationBase](VM.Managed.OrientationBase.md) ← [OrientationThreePoints](VM.Managed.OrientationThreePoints.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, [ILinkContainerEvent](VM.Managed.ILinkContainerEvent.md), [IVerifiable](VM.Managed.IVerifiable.md), IExpression, IOrientationBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider

#### Inherited Members

[OrientationBase.IsParametric()](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_IsParametric), [OrientationBase.IsParametric(string)](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_IsParametric_System_String_), [OrientationBase.ReadXml(XmlReader)](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_ReadXml_System_Xml_XmlReader_), [OrientationBase.WriteXml(XmlWriter)](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_WriteXml_System_Xml_XmlWriter_), [OrientationBase.GetSchema()](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_GetSchema), [OrientationBase.WriteRotationAnglesToXml(XmlWriter)](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_WriteRotationAnglesToXml_System_Xml_XmlWriter_), [OrientationBase.UseExpression](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_UseExpression), [OrientationBase.RotationAngles](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_RotationAngles), [OrientationBase.RotationAxis](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_RotationAxis), [OrientationBase.AngleType](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_AngleType), [OrientationBase.RotationType](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_RotationType), [OrientationBase.IsParameterized](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_IsParameterized), [OrientationBase.ValueImpl](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_ValueImpl), [OrientationBase.Value](VM.Managed.OrientationBase.md#VM_Managed_OrientationBase_Value), [Expression.g\_bSkipUpdate](VM.Managed.Expression.md#VM_Managed_Expression_g_bSkipUpdate), [Expression.m\_pExpressionHandler](VM.Managed.Expression.md#VM_Managed_Expression_m_pExpressionHandler), [Expression.m\_strValue](VM.Managed.Expression.md#VM_Managed_Expression_m_strValue), [Expression.m\_dicReferenceObject](VM.Managed.Expression.md#VM_Managed_Expression_m_dicReferenceObject), [Expression.m\_lstReferenceObject](VM.Managed.Expression.md#VM_Managed_Expression_m_lstReferenceObject), [Expression.m\_linkCollectionReferenceObject](VM.Managed.Expression.md#VM_Managed_Expression_m_linkCollectionReferenceObject), [Expression.Initialize()](VM.Managed.Expression.md#VM_Managed_Expression_Initialize), [Expression.UpdateByReferenceObject(object, LinkEventArgs)](VM.Managed.Expression.md#VM_Managed_Expression_UpdateByReferenceObject_System_Object_VM_Managed_LinkEventArgs_), [Expression.AddReferenceObject(UIntPtr)](VM.Managed.Expression.md#VM_Managed_Expression_AddReferenceObject_System_UIntPtr_), [Expression.CheckReferenceObject()](VM.Managed.Expression.md#VM_Managed_Expression_CheckReferenceObject), [Expression.SetDefaultString(ref string)](VM.Managed.Expression.md#VM_Managed_Expression_SetDefaultString_System_String__), [Expression.ConvertToValue(string)](VM.Managed.Expression.md#VM_Managed_Expression_ConvertToValue_System_String_), [Expression.ParseToValue(char\*)](VM.Managed.Expression.md#VM_Managed_Expression_ParseToValue_System_Char__), [Expression.GetNumericValue()](VM.Managed.Expression.md#VM_Managed_Expression_GetNumericValue), [Expression.OnDeserialization(object)](VM.Managed.Expression.md#VM_Managed_Expression_OnDeserialization_System_Object_), [Expression.Uninitialize()](VM.Managed.Expression.md#VM_Managed_Expression_Uninitialize), [Expression.String](VM.Managed.Expression.md#VM_Managed_Expression_String), [LinkContainer.SetModified()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SetModified), [LinkContainer.raise\_OnUpdating(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnUpdating_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnUpdate(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnUpdate_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnDestroying(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnDestroying_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnDestroy(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnDestroy_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnAdded(object, AddToDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnAdded_System_Object_VM_Managed_AddToDocEventArgs_), [LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnRemoved_System_Object_VM_Managed_RemoveFromDocEventArgs_), [LinkContainer.GetTargetListForUpdate()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_GetTargetListForUpdate), [LinkContainer.SkipUpdateObjectImpl()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SkipUpdateObjectImpl), [LinkContainer.Initialize(Unit.ConvertFactor)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Initialize_VM_Unit_ConvertFactor_), [LinkContainer.SetFlagWhenXMLFile(string, bool)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SetFlagWhenXMLFile_System_String_System_Boolean_), [LinkContainer.IsSerializableEvent(Delegate)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_IsSerializableEvent_System_Delegate_), [LinkContainer.CustomGetObjectData(SerializationInfo, StreamingContext)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_CustomGetObjectData_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_), [LinkContainer.GetSerializedData(SerializationInfo, StreamingContext)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_GetSerializedData_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_), [LinkContainer.LinkRequestUpdating(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestUpdating_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkRequestUpdate(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkRequestDestroying(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestDestroying_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkRequestDestroy(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestDestroy_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkAddedToDocument(object, AddToDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkAddedToDocument_System_Object_VM_Managed_AddToDocEventArgs_), [LinkContainer.LinkRemovedFromDocument(object, RemoveFromDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRemovedFromDocument_System_Object_VM_Managed_RemoveFromDocEventArgs_), [LinkContainer.OnLinkReserved(ILink, object, EventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnLinkReserved_VM_Managed_ILink_System_Object_System_EventArgs_), [LinkContainer.CanBeDestroy(object)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_CanBeDestroy_System_Object_), [LinkContainer.DisposeManagedResources()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_DisposeManagedResources), [LinkContainer.SetContainer(IOwned, bool)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SetContainer_VM_Models_Pre_IOwned_System_Boolean_), [LinkContainer.OnChildUpdated(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnChildUpdated_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.OnContainerDestroy(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnContainerDestroy_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.OnDeserialization(object)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnDeserialization_System_Object_), [LinkContainer.Verify(VerifiedResult)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Verify_VM_Managed_VerifiedResult_), [LinkContainer.GetCopy(object)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_GetCopy_System_Object_), [LinkContainer.Dispose(bool)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Dispose_System_Boolean_), [LinkContainer.ClearChildInfoBeforeDeserialize](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_ClearChildInfoBeforeDeserialize), [LinkContainer.Container](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Container), [LinkContainer.Owner](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Owner), [LinkContainer.Document](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Document), [LinkContainer.ID](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_ID), [LinkContainer.IsChildExternable](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_IsChildExternable), [LinkContainer.IsExternable](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_IsExternable), [LinkContainer.OnRemoved](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnRemoved), [LinkContainer.OnAdded](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnAdded), [LinkContainer.OnDestroy](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnDestroy), [LinkContainer.OnDestroying](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnDestroying), [LinkContainer.OnUpdate](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnUpdate), [LinkContainer.OnUpdating](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnUpdating), LinkableBase.OnDeserialization(object), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### OrientationThreePoints(PointBase, PointBase, PointBase)

Initializes a new instance of the  class.

```csharp
public OrientationThreePoints(PointBase ptOrigin, PointBase ptZ, PointBase ptX)

```

#### Parameters

`ptOrigin` [PointBase](VM.Managed.PointBase.md)

Origin point.

`ptZ` [PointBase](VM.Managed.PointBase.md)

Z point.

`ptX` [PointBase](VM.Managed.PointBase.md)

X point.

### OrientationThreePoints()

Initializes a new instance of the  class.

```csharp
public OrientationThreePoints()

```

## Properties

### IsParameterized

Gets the parametric.

```csharp
public override bool IsParameterized { get; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### OriginPoint

Gets or sets origin point.

```csharp
public PointBase OriginPoint { get; set; }

```

#### Property Value

[PointBase](VM.Managed.PointBase.md)

### Value

Gets the information of orientation(OMatrix type).

```csharp
public override OMatrix Value { get; set; }

```

#### Property Value

[OMatrix](VM.Managed.OMatrix.md)

### XPoint

Gets or sets x point.

```csharp
public PointBase XPoint { get; set; }

```

#### Property Value

[PointBase](VM.Managed.PointBase.md)

### ZPoint

Gets or sets z point.

```csharp
public PointBase ZPoint { get; set; }

```

#### Property Value

[PointBase](VM.Managed.PointBase.md)

## Methods

### GetSchema()

This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return nullNothingnullptra null reference (Nothing in Visual Basic) (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the XmlSchemaProviderAttribute to the class.

```csharp
public override XmlSchema GetSchema()

```

#### Returns

[XmlSchema](https://learn.microsoft.com/dotnet/api/system.xml.schema.xmlschema)

### LinkRequestUpdate(object, LinkEventArgs)

The update event occured from the linked object.

```csharp
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` [object](https://learn.microsoft.com/dotnet/api/system.object)

The linked object.

`arg` [LinkEventArgs](VM.Managed.LinkEventArgs.md)

The update event information.

### ReadXml(XmlReader)

Generates an object from its XML representation.

```csharp
public override void ReadXml(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

The XmlReader stream from which the object is deserialized.

### WriteXml(XmlWriter)

Converts an object into its XML representation.

```csharp
public override void WriteXml(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

The XmlWriter stream to which the object is serialized.