# HM_Edge

Contains information about an individual edge in the topology of mesh areas defined by the HM_Topology structure.

## Syntax

```
struct HM_Edge {
int size;
int error_status;
HM_EntityTopology mapped_hm_topo;
int vertex[2];
HM_PolyLine edge_points;
HM_PolyLine fixed_points;
double mesh_size;
};
```

## Type

HyperMesh Ext API Function

## Description

This structure contains information about an individual edge in the topology of mesh areas defined by the HM_Topology structure.

The structure information is declared in hm_extapi.h.

The members are: `size`, `error_status`,
`mapped_hm_topo`, `vertex`,
`edge_points`, `fixed_points`, and
`mesh_size`

## Inputs

`size`- Specifies the length, in bytes, of the structure. Use
`sizeof(HM_Edge)`for this member. This is used to distinguish the current version of HM_Edge from possible future extended versions with additional members. `error_status`- Used by API functions to return an error status. A value of zero indicates successful completion of a function using this structure.
`mapped_hm_topo`- Some API functions will use this member to return a handle to an edge entity corresponding to the edge specified by the HM_Edge structure. On input, set to zero. The function HM_ExtAPI::GenerateMesh() does not use this member to return any values.
`vertex`- References to vertices connected to edge ends. The value of vertex[0] references the vertex connected to the start of the edge specified by this HM_Edge structure. The value of vertex[1] references the vertex connected to the end of the edge specified by this HM_Edge structure. Each value is a zero-based index in the array of HM_Vertex structures pointed by the vertices member in the HM_Topology structure that contains this HM_Edge structure in its edges array.
`edge_points`- The structure HM_PolyLine that contains information about the geometry of the edge represented by a set of approximation points ordered from edge start to edge end.
`fixed_points`- The structure HM_PolyLine that contains information about points on the edge that must become fixed grid points after meshing the edge. If this member does not contain any points then the edge is considered "free".
`mesh_size`(optional)- Set individual mesh size for the edge specified by this HM_Edge structure. Set to positive value in order for individual mesh size to be used for this edge. Set to -1 to have the mesh size the same as the value specified by global mesh size parameter.

## Errors

None.