
Euler operators allow for atomic modification of a BRep model in a manner that keeps the following equation (known as EulerPoincare formula) satisfied:
Here v is the number of vertices, e is the number of edges, f is the number of faces, s is the number of shells, h is the genus of the manifold, and r is the number of internal loops.
The very clear introduction to the concept of Euler operators can be found in the paper by [Mantyla and Sulonen, 1982] describing a test solid modeling system named Geometric Workbench (GWB). This system employed Euler operators to let the user incrementally create and modify shapes. M. Mantyla, the author of GWB, has also authored a comprehensive textbook on solid modeling [Mantyla, 1987] which gives a brilliant introduction to the solid modeling field in a truly scientific way.
There are two kinds of Euler operators:
The Moperators allow to create boundary elements, while the Koperators allow to eliminate them. The important practical property of those operators is that they preserve the topological consistency of a BRep model.
"In a formal sense, Euler operators form a sufficient set of solid definition and manipulation operatios. Even so, a solid modeler must include more useroriented ways to create and handle solid models. Euler operators themselves are rather unintuitive and primitive and should not be directly visible to the end user. Nevertheless, it is advantageous to use them as primitives of higherlevel operations to ensure that the models created are well formed." [Mantyla and Sulonen, 1982]
Informally speaking, Euler operators are like assembler language for BRep. The real modeling system should rely on them as much as possible. At the same time, the software system should keep Euler operators in the "engine room" to be more useroriented.
To check if the EulerPoincare property holds for the working part, use the checkeuler command in Analysis Situs. You will have to specify the genus (i.e. the number of through holes) of your model. If no genus is passed in the Tcl command, a GUI prompt will appear to type it. The following image illustrates a simple shape with genus 0 for which the EulerPoincare property holds.
Once KEV operator is done for a corner vertex, we can make sure that the topological consistency of the model is preserved.
At the same time, the model is not geometrically valid anymore. Euler operators ensure only the topological (i.e., "syntactical") integrity of the boundary representation.
KEF stand for "killedgeface". This operator is used to collapse twoedged face into a single edge. One application for this operator is blend suppression where twoedged faces may emerge as a result of suppressing crossedges (you can find more information about this blend suppression technique in a remarkable work by [Venkataraman et al, 2002]).
KEF Euler operator is based on Topology Killer whose function is to remove the face and either remove or merge edges. Edge merging should be preferred in solid modeling cases as this strategy of edge elimination does not break sharing. The following image illustrates a naked edge which emerged as a result of edge removal.
In contrast, if edge merging is used, sharing is preserved at the data structure level.
Analysis Situs takes care not only to preserve sharing but also to ensure the correct propagation of edges' orientations. Since there is no guarantee that the substituted edge has the same geometric orientation as its preimage in the UV space of a face, the orientation of image can be different from the original orientation.