Comments (5)
Yes add it to the existing traversal in validateTileset
.
from 3d-tiles-validator.
I'll update with ideas for solving some of these, but to start region inside region should be pretty straightforward. Just need to check that the west/south/east/north/min/max are within the other's values
Please add functions to Cesium as needed.
from 3d-tiles-validator.
@lilleyse Would you like me to add this functionality to the validateTileset.js
file along with the geometricError validation, or should I create a new one for all of the bounding volume validation?
from 3d-tiles-validator.
@rms13 let's finish the most important ones here, starting with Box inside box
.
For this it may help to reference Cesium's OrientedBoundingBox
class and look at how it's created from the box
array here: https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Cesium3DTile.js#L828.
I think the test itself will be decomposed to eight point vs OBB checks. The OBB is basically a 2x2x2 box that is rotated and scaled by the halfAxes
matrix. To do a point vs OBB check, you could apply the inverse of this matrix to the point and then check if it's in a 2x2x2 volume. (This may not be completely correct, but the right idea is somewhere in there).
from 3d-tiles-validator.
Let's tackle the region tests now.
- Box inside region
- Sphere inside region
- Region inside sphere
- Region inside box
While region is technically a curved surface along the earth, I think we can assume for most cases that it is close enough to a box shape. This will heavily simplify these 4 checks.
To convert a region to a box, check out TileBoundingRegion
in Cesium, specifically:
OrientedBoundingBox.fromRectangle(this.rectangle, this.minimumHeight, this.maximumHeight, ellipsoid);
Once converted to a box the previous written comparisons can be used.
from 3d-tiles-validator.
Related Issues (20)
- Check if transforms are affine
- Refining the report format and report file handling
- Cycles in external tilesets are not detected HOT 1
- TypeScript compilation fails HOT 5
- Tool can't be packaged HOT 1
- Validator fails to resolve GLB from I3DM with URI with spaces
- Build broken? HOT 1
- Streamline the validation of arrays of objects
- 3DTILES_content_gltf ? HOT 3
- Allow validation of tile content files
- Geometric error inconsistencies should be a WARNING and not an ERROR
- Out of memory crash HOT 1
- glTF extension support? HOT 4
- ValidFeatureIdAttributeWithLargerFeatureCount.gltf not valid HOT 8
- ValidFeatureIdAttributeWithByteStride.glb not a 3D Tile HOT 1
- Tests with texture and nullFeatureid missing HOT 1
- PropertyAttributesPropertyAttributePropertyMaxMismatch.gltf is valid HOT 7
- Handle invalid alignments more graciously
- Missing 'refine' in root tile is not detected
- Simplify filtering of validation report files
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 3d-tiles-validator.