cmlibs / zinc

Source code repository for OpenCMISS-Zinc
Mozilla Public License 2.0
15 stars 18 forks source link

Generalise graphics exterior to include subgroup, interior #184

Closed rchristie closed 3 years ago

rchristie commented 3 years ago

Zinc graphics has an exterior flag attribute which when on limits display to elements (on 1-D, 2-D graphics domains) which are on the outside boundary of the mesh. This item intends to allow graphics to be shown on the boundary of subgroups if defined. Would also be nice to all graphics to be limited to interior of mesh or subgroup too.

It makes sense to generalise the exterior flag to an enumeration which handles all these states. The term 'exterior' is not well chosen; 'boundary' is better. The exterior is everything outside the boundary, which when limiting display to a finite mesh is nothing, but could be defined if exterior to a subgroup.

Since this feature is all about showing objects that are on a boundary or not on a boundary, it will be called Graphics::BoundaryMode (enum cmzn_graphics_boundary_mode) with enumerated values: ALL BOUNDARY INTERIOR SUBGROUP_BOUNDARY SUBGROUP_INTERIOR

The current isExterior/setExterior APIs can remain and present a simplified interface for switching between ALL/BOUNDARY.