# Distributed Combinatorial Maps for Parallel Mesh Processing
## 3 \(n\)D Distributed Combinatorial Maps
### Retrieve Information Inside nD Distributed Combinatorial Maps  
By using the definition of an \(n\)D distributed combinatorial map giving the properties satisfied by the blocks and the labeling function, it is possible to retrieve the global combinatorial map described by the different blocks without needing to rebuild it. This is detailed in Proposition 1 which defines the global \(n\)-map by: (1) the union of the sets of darts of all blocks; (2) \(\beta_{1}\),..., \(\beta_{n-1}\) mappings are directly retrieved from the corresponding mappings in each block (indeed, by Definition 1 we are sure that two darts linked by these mappings always belong to the same block); (3) \(\beta_{n}\) mapping is either retrieved from the same mapping in each block for non critical darts; and (4) retrieved from the labeling function otherwise.  
**Proposition 1**.: _Let \(DM\) be an nD distributed combinatorial map. The \(n\)-map described by \(DM\) is \(M=(D,\beta_{1},\ldots,\beta_{n})\) defined by:_  
1. \(D=\cup_{b=1}^{k}D^{b}\)__
2. \(\forall b\in\{1,\ldots,k\}\)_,_ \(\forall d\in D^{b}\)_,_ \(\forall i\in\{1,\ldots,n-1\}\)_:_ \(\beta_{i}(d)=\beta_{i}^{b}(d)\)_;_
3. \(\forall b\in\{1,\ldots,k\}\)_,_ \(\forall d\in D^{b}\setminus\mathbb{C}^{b}\)_:_ \(\beta_{n}(d)=\beta_{n}^{b}(d)\)_;_
4. \(\forall b\in\{1,\ldots,k\}\)_,_ \(\forall d\in\mathbb{C}^{b}\)_, let_ \(d^{\prime}\) _denote the dart in_ \(M^{c}\) _such that_ \(id^{b}(d)=id^{c}(d^{\prime})\)_,_ \(c\in\{1,\ldots,k\}\)_,_ \(b\
eq c\)_. Then,_ \(\beta_{n}(d)=d^{\prime}\)_._  
It is easy to verify that \(\beta_{1}\) is a permutation on \(D\), and that \(\beta_{2}\),..., \(\beta_{n}\) are involutions. Indeed, all mappings are directly retrieved from the existing mappings in each block, except \(\beta_{n}\) of critical darts. For this last case, by definition of the labeling function, we are sure that there exist only two darts \(d\in M^{b}\) and \(d^{\prime}\in M^{c}\) having the same label. Lastly, we can also verify that \(\beta_{i}\circ\beta_{j}\) is an involution on \(D\) for any \(i,j\in\{1,\ldots,n\}\), \(|i-j|\geq 2\). For \(i,j\in\{1,\ldots,n-1\}\) this is obvious since \(\beta_{i}\) and \(\beta_{j}\) are directly taken from the same block, which is an \(n\)-map and thus satisfies this property. For \(i\in\{1,\ldots,n-2\}\), we can prove that \(\beta_{i}\circ\beta_{n}\) is an involution by using Property (4) of Definition 1 (we know that \(id^{b}(\beta_{i}(d))=id^{c}(\beta_{i}^{-1}(d^{\prime}))\), and \(id^{b}(d)=id^{c}(d^{\prime})\) implies \(\beta_{n}(d)=d^{\prime}\)). This proves that \(M\) obtained by Proposition 1 is an \(n\)-map.  
**Illustration with an example.** In the example given in Figure 5, it is easy to verify that \(\beta_{1}\) and \(\beta_{2}\) mappings are directly retrieved from the corresponding mappings in each block. For \(\beta_{3}\), darts describing the face between the two cubes in block \(M^{2}\) are not critical, and thus have their \(\beta_{3}\) links directly given by the \(\beta_{3}\) links in \(M^{2}\). However, this is not true for critical darts describing for example the face between \(M^{2}\) and \(M^{3}\). For example, dart labeled a in \(M^{2}\) is critical. The only other dart labeled a belongs to block \(M^{3}\) and we conclude that these two darts are linked by \(\beta_{3}\).