---
# System prepended metadata

title: OPC 2.0
tags: [' dibit', opc, ' pro3d']

---

---
tags: opc, dibit, pro3d
title: OPC 2.0
---

# 20201012 Analyse 2d daten

![](https://i.imgur.com/UwNAikR.png)

* 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
![](https://notes.vrvis.at/uploads/upload_edca57abcf62dec15ee9392a1a760593.png)
* level 2
![](https://notes.vrvis.at/uploads/upload_c48234f995489699d06426d122129907.png)
* level 1 and level 0
![](https://notes.vrvis.at/uploads/upload_7faa4373e7003d03d463ea173e8f994c.png)
  
## (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
![](https://notes.vrvis.at/uploads/upload_a5ecaf8aec02d12ea37e13649f6811d9.png)

## (3) `2020_09_11\tunnel_full\` 

### NullrefException in PRo3D

* missing mandatory tags `ChannelsDefinedRange` and `ChannelsActualRange` in `*.opcx` file for attribute layer
![](https://notes.vrvis.at/uploads/upload_51d06995e27010cdbefb35523451e4f6.png)
* :question: VRVis ... make tags optional
* :question: JR ... add mandatory tags
* :exclamation: make formal opcx spec

![](https://i.imgur.com/wEhpN13.png)


## (4) `2020_09_11\simple_full\`

### OutOfIndexException in PRo3D

![](https://notes.vrvis.at/uploads/upload_f23f0bca7e29e19a1c47b9a2cc40863f.png)

* 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.