# Middle

{% hint style="warning" %}
The `Hand` class automatically instantiates the `Middle` class for you.
{% endhint %}

```csharp
public class Middle : Finger
```

Inherits [Finger ](https://handtracking.lightbuzz.com/api-reference/finger)class.

### Constructors

| Name                                                                                                                                                                                 | Description                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| Middle(Dictionary<[FingerJointType](https://handtracking.lightbuzz.com/api-reference/fingerjointtype), [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint)>) | Creates a new Middle object with the specified finger joint types and finger joints. |

### Properties

| Name | Type                                                                        | Description                                                  |
| ---- | --------------------------------------------------------------------------- | ------------------------------------------------------------ |
| MCP  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The middle finger metacarpophalangeal joint.      |
| PIP  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The middle finger proximal interphalangeal joint. |
| DIP  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The middle finger distal interphalangeal joint.   |
| Tip  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The middle finger tip joint.                      |

### Example

The example shows how to manage a middle finger with the `Middle`class.

#### Create a middle finger with a constructor

```csharp
// Create a middle tip joint with the specified 2D position and 
// 3D position.
FingerJoint middleTip = new FingerJoint
(
    FingerJointType.MiddleTip,
    new Vector2(3, 3),
    new Vector3(0.3f, 0.3f, 0.3f),
    new Quaternion()
);

// Create a middle DIP joint with the specified 2D position and 
// 3D position.
FingerJoint middleDIP = new FingerJoint
(
    FingerJointType.MiddleDIP,
    new Vector2(3, 3),
    new Vector3(0.3f, 0.3f, 0.3f),
    new Quaternion()
);

// Create a middle finger with the specified middle joints.
Middle middle = new Middle
(
     new Dictionary<FingerJointType, FingerJoint> 
     {
         { FingerJointType.MiddleTip, middleTip },
         { FingerJointType.MiddleDIP, middleDIP }
     }
 );
```

#### Get joint information from a middle finger

```csharp
// Get middle Tip joint.
FingerJoint middleTipNew = middle.Tip;
```
