---
tags: opc, dibit, pro3d
title: OPC 2.0
---
# 20201012 Analyse 2d daten

* opc wQvs5quXTHCWOfjCtxPhTw
```
<Local2Global2D>
[[1.0, 0.0, 0.0, 79356.37096153232],
[0.0, 1.0, 0.0, -7.287652550667628],
[0.0, 0.0, 1.0, -0.14676951093895685],
[0.0, 0.0, 0.0, 1.0]]
</Local2Global2D>
<LocalBoundingBox2D>
[[2.1244585457170615, 0.47379607014288183, 0.9121988673835855],
[-2.3298536864604102, -1.0271452597644526, -0.9522482422959022]]
</LocalBoundingBox2D>
<GlobalBoundingBox2D>
[[79358.49542007803, -6.813856480524747, 0.7654293564446286],
[79354.04110784586, -8.314797810432081, -1.099017753234859]]
</GlobalBoundingBox2D>
```
* opc XIOFHeM2SiWRViyUAFqZ-A
```
<Local2Global2D>
[[1.0, 0.0, 0.0, 79356.29256601854],
[0.0, 1.0, 0.0, -4.840405753346079],
[0.0, 0.0, 1.0, 0.34400761418846937],
[0.0, 0.0, 0.0, 1.0]]
</Local2Global2D>
<LocalBoundingBox2D>
[[1.2871788932097843, -1.6694699489615594, 0.6825793580170361],
[-1.425132727570599, 1.5592277049066983, 0.10310639372433883]]
</LocalBoundingBox2D>
<GlobalBoundingBox2D>
[[79357.57974491175, -6.509875702307639, 1.0265869722055054],
[79354.86743329097, -3.281178048439381, 0.4471140079128082]]
</GlobalBoundingBox2D>
```
* opc Niklasdorf
```
<Local2Global2D>
[[1.000000000, 0.000000000, 0.000000000, 89823.000000000],
[0.000000000, 1.000000000, 0.000000000, 0.000000000],
[0.000000000, 0.000000000, 1.000000000, 0.000000000],
[0.000000000, 0.000000000, 0.000000000, 1.000000000]]
</Local2Global2D>
<LocalBoundingBox2D>
[[0.000000000, -13.772300000, -1.192999793],
[11.000000000, 13.772000000, 0.125999131]]
</LocalBoundingBox2D>
```
# Analyse OPC Rework `2020_09_17` and `2020_09_11`
* datasets simple (Mars) and Tunnel (Dibit)
* _full ... one texture for all
* _legacy ... one texture for each patch
## (1) `2020_09_17/simple_full`
### weird levels of detail
* level N

* level 2

* level 1 and level 0

## (2)`2020_09_17/tunnel_full`
### Patch.xml
* contains `Positions2D` tag with absolute path
* redundantly contains SvBR aara as attribute layer
* local2global trafo is identity
```xml
<Aardvark>
<Patch>
<TagList/>
<PatchColRowOffset>0, 0</PatchColRowOffset>
<QuadVertexSortOrder>RowMajor</QuadVertexSortOrder>
<GeometryType>QuadList</GeometryType>
<Local2Global>[[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]]</Local2Global>
<LocalBoundingBox>[[42510.0, 54358.0, 536.0], [42524.0, 54372.0, 543.0]]</LocalBoundingBox>
<GlobalBoundingBox>[[42510.0, 54358.0, 536.0], [42524.0, 54372.0, 543.0]]</GlobalBoundingBox>
<Local2Global2D>[[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]]</Local2Global2D>
<LocalBoundingBox2D>[[89920.02890238518, -7.690501356434705, 236287.31833924717], [89920.059295944, -7.690316720028431, 236283.44460418905]]</LocalBoundingBox2D>
<GlobalBoundingBox2D>[[89920.02890238518, -7.690501356434705, 236287.31833924717], [89920.059295944, -7.690316720028431, 236283.44460418905]]</GlobalBoundingBox2D>
<Positions2D>C:\Develop\Test\UV-Mapping\VRVis3\tunnel_full_OR_0000_OC_0000\Patches\L_0004_PR_0000_PC_0000\tunnel_full_OR_0000_OC_0000_L_0004_PR_0000_PC_0000_SvBR.aara</Positions2D>
<Positions>tunnel_full_OR_0000_OC_0000_L_0004_PR_0000_PC_0000_LocalCartesian.aara</Positions>
<Attributes>
<SvBR>tunnel_full_OR_0000_OC_0000_L_0004_PR_0000_PC_0000_SvBR.aara</SvBR>
</Attributes>
<Coordinates>
<DiffuseColor1Coordinates>tunnel_full_OR_0000_OC_0000_L_0004_PR_0000_PC_0000_TextureCoordinates.aara</DiffuseColor1Coordinates>
</Coordinates>
<Textures>
<DiffuseColor1Texture>Texture\tunnel_full_OR_0000_OC_0000_Texture.tif</DiffuseColor1Texture>
<DiffuseColor1Weights>tunnel_full_OR_0000_OC_0000_L_0004_PR_0000_PC_0000_ColorWeights.aara</DiffuseColor1Weights>
</Textures>
</Patch>
</Aardvark>
```
### Minecraft Style
* possible wrong encoding or aaras
### Missing Scalar Layer
* missing scalar values/attributes for tunnel, because of missing entry in opcx

## (3) `2020_09_11\tunnel_full\`
### NullrefException in PRo3D
* missing mandatory tags `ChannelsDefinedRange` and `ChannelsActualRange` in `*.opcx` file for attribute layer

* :question: VRVis ... make tags optional
* :question: JR ... add mandatory tags
* :exclamation: make formal opcx spec

## (4) `2020_09_11\simple_full\`
### OutOfIndexException in PRo3D

* missing weights in patch.xml ... this should not be mandatory, weights are not used anyway
* :exclamation: VRVis ... fixed parser in Aardvark.Rendering version 5.0.11
* :question: VRVis/JR unclear how to handle attributes in patch.xml. At the moment only attributes in `*.opcx` count. There was a discussion with dibit about what happens after adding opcs to a surface with other attributes.