Detailed Description

Mesh kernel using arrays for mesh item storage.

This mesh kernel uses the std::vector as container to store the mesh items. Therefore all handle types are internally represented by integers. To get the index from a handle use the handle's idx() method.

Note

For a description of the minimal kernel interface see OpenMesh::Mesh::BaseKernel.

You do not have to use this class directly, use the predefined mesh-kernel combinations in Predefined Mesh Types.

Member Function Documentation

ArrayKernel uses the default copy constructor and assignment operator, which means that the connectivity and all properties are copied, including reference counters, allocated bit status masks, etc.. In contrast assign_connectivity copies only the connectivity, i.e. vertices, edges, faces and their status fields. NOTE: The geometry (the points property) is NOT copied. Poly/TriConnectivity override(and hide) that function to provide connectivity consistence.

In contrast to clear() this method does neither erases the properties nor clears the property vectors. Depending on how you add any new entities to the mesh after calling this method, your properties will be initialized with old values.

This method behaves like clean() (also regarding the properties) but leaves the memory used for vertex, edge and face storage allocated. This leads to no reduction in memory consumption but allows for faster performance when rebuilding the mesh.

Usually if you delete primitives in OpenMesh, they are only flagged as deleted. Only when you call garbage collection, they will be actually removed.

Note

Garbage collection invalidates all handles. If you need to keep track of a set of handles, you can pass them to the second garbage collection function, which will update a vector of handles. See also Deleted Elements.

Usually if you delete primitives in OpenMesh, they are only flagged as deleted. Only when you call garbage collection, they will be actually removed.

Note

Garbage collection invalidates all handles. If you need to keep track of a set of handles, you can pass them to this function. The handles that the given pointers point to are updated in place. See also Deleted Elements.