    

 ## On this page

  

 

 #  Class DirectionThreePoints

 Last update: 16.07.2025 

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

This class is to represent the information of direction of center of three points.

```csharp
public class DirectionThreePoints : DirectionBase, IObservableObject, IDisposableObject, ILinkable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, ILinkContainerEvent, IVerifiable

```

#### Inheritance

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

#### Implements

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

#### Inherited Members

[DirectionBase.m\_bReverse](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_m_bReverse), [DirectionBase.IsParametric(Primitive.enRefType)](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_IsParametric_VM_Managed_Primitive_enRefType_), [DirectionBase.IsParametric(string)](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_IsParametric_System_String_), [DirectionBase.ReadXml(XmlReader)](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_ReadXml_System_Xml_XmlReader_), [DirectionBase.WriteXml(XmlWriter)](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_WriteXml_System_Xml_XmlWriter_), [DirectionBase.GetSchema()](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_GetSchema), [DirectionBase.Reverse](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_Reverse), [DirectionBase.IsParameterized](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_IsParameterized), [DirectionBase.Value](VM.Managed.DirectionBase.md#VM_Managed_DirectionBase_Value), [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(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### <a id="VM_Managed_DirectionThreePoints__ctor_VM_Managed_PointBase_VM_Managed_PointBase_VM_Managed_PointBase_"></a> DirectionThreePoints(PointBase, PointBase, PointBase)

Initializes a new instance of the  class.

```csharp
public DirectionThreePoints(PointBase ptStart, PointBase ptMiddle, PointBase ptEnd)

```

#### Parameters

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

Start point.

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

Middle point.

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

End point.

### <a id="VM_Managed_DirectionThreePoints__ctor"></a> DirectionThreePoints()

Initializes a new instance of the  class.

```csharp
public DirectionThreePoints()

```

## Properties

### <a id="VM_Managed_DirectionThreePoints_EndPoint"></a> EndPoint

Gets or sets end point.

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

```

#### Property Value

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

### <a id="VM_Managed_DirectionThreePoints_IsParameterized"></a> IsParameterized

Gets the parametric.

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

```

#### Property Value

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

### <a id="VM_Managed_DirectionThreePoints_MiddlePoint"></a> MiddlePoint

Gets or sets middle point.

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

```

#### Property Value

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

### <a id="VM_Managed_DirectionThreePoints_StartPoint"></a> StartPoint

Gets or sets start point.

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

```

#### Property Value

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

### <a id="VM_Managed_DirectionThreePoints_Value"></a> Value

Gets the VectorBase(x, y, z).

```csharp
public override VectorBase Value { get; }

```

#### Property Value

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

## Methods

### <a id="VM_Managed_DirectionThreePoints_GetSchema"></a> 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)

An  that describes the XML representation of the object that is produced by the  method and consumed by the  method.

### <a id="VM_Managed_DirectionThreePoints_IsParametric_VM_Managed_Primitive_enRefType_"></a> IsParametric(enRefType)

Gets parametric.

```csharp
public override bool IsParametric(Primitive.enRefType type)

```

#### Parameters

`type` [Primitive](VM.Managed.Primitive.md).[enRefType](VM.Managed.Primitive.enRefType.md)

Point picking type.

#### Returns

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

If set to `true` is parametric; otherwise, `false` is none parametric.

### <a id="VM_Managed_DirectionThreePoints_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_"></a> 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.

### <a id="VM_Managed_DirectionThreePoints_ReadXml_System_Xml_XmlReader_"></a> 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.

### <a id="VM_Managed_DirectionThreePoints_WriteXml_System_Xml_XmlWriter_"></a> 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.