Commit Graph

314 Commits

Author SHA1 Message Date
Sean Lilley 7022b955a1 Fix estimateGlobeRectangle for boxes and sphere that encompass the entire globe 2024-02-09 10:16:28 -05:00
Bradley Austin Davis e20c154c55 Migrating dependencies to vcpkg 2024-02-02 10:40:59 -08:00
Joseph Kaile c6bcf9736f update and comment intersection functions 2024-01-02 14:53:43 -05:00
Joseph Kaile 12d6885e42 add more intersection tests 2023-12-19 19:16:53 -05:00
Joseph Kaile ad512a3026 add gltf ray intersect function with tests 2023-12-13 17:37:10 -05:00
Kevin Ring 94ae3c705f Merge remote-tracking branch 'origin/better-subtrees' into raster-overlay-refactoring 2023-11-17 17:13:53 +11:00
Janine Liu d3700dda57 Minor doc changes 2023-11-15 11:36:48 -05:00
Kevin Ring dff7e61171 Create CesiumRasterOverlays library. 2023-11-14 18:29:47 +11:00
Kevin Ring 5e860d6d10 Fix OrientedBoundingBox::contains. 2023-11-06 19:19:12 +11:00
Kevin Ring ec02c89a6b Add TileBoundingVolumes class, other BV tweaks. 2023-11-06 18:48:23 +11:00
Janine Liu 96173ddb0f Small documentation tweaks 2023-03-20 13:55:40 -04:00
Kevin Ring 3fb850e480 Fix test failures on clang, etc. 2023-03-16 21:59:47 +11:00
Kevin Ring d1b4c24dd5 Fix a bug in AxisAlignedBox's center computation. 2023-03-16 16:00:43 +11:00
Kevin Ring 8215e5dd92 Add OrientedBoundingBox::toAxisAligned. 2023-03-16 10:33:18 +11:00
Kevin Ring d5f3e8cb26 Add getOrientedBoundingBoxFromBoundingVolume and
OrientedBoundingBox::transform.
2023-03-15 17:41:51 +11:00
Janine Liu 3024720c3b Fix typo and test file name 2023-02-24 16:33:33 -05:00
Kevin Ring 0ab860f728 Add computeTranslationRotationScaleFromMatrix. 2023-02-15 18:27:27 +11:00
Kevin Ring 65e6efc3bc Beginning of GlobeAnchor implementation. 2023-02-13 22:01:01 +11:00
Kevin Ring f5a9f816e2 Fix merge error. 2022-02-24 11:25:59 +11:00
Kevin Ring 7efd09db05 Merge remote-tracking branch 'origin/main' into ue5 2022-02-24 10:48:11 +11:00
Kevin Ring 9c33e51598
Merge branch 'main' into distance-to-bounding-sphere 2022-01-26 14:40:25 +11:00
Joseph Kaile cf21f59481 fix distance squared to function in bounding sphere 2022-01-25 13:13:33 -05:00
Kevin Ring 1a100de53e More renaming for consistency. 2022-01-25 19:36:10 +11:00
Nithin Pranesh 4b3e7af9b2 fix wrong endianness when counting available bits 2022-01-13 15:13:44 -05:00
Sean Lilley 2cdcb92e20 Namespace cleanup 2021-12-02 18:34:22 -05:00
Nithin Pranesh a8582e0989 QuadtreeAvailability and OctreeAvailability classes don't need tiling scheme 2021-11-17 01:54:47 -05:00
Nithin Pranesh ee5b04041e Merge branch 'main' into implicit-tiling 2021-11-13 12:51:16 -05:00
Nithin Pranesh 5868f553b3 Merge branch 'main' into overlays-on-3dtiles 2021-11-12 15:21:01 -05:00
Nithin Pranesh 7c9dc83732 fix endianness in availability tests 2021-11-11 20:47:19 -05:00
Nithin Pranesh 0b1f3a03b6 fix wrong endianness when reading availability bitstream 2021-11-11 20:46:49 -05:00
Nithin Pranesh e54e087674 Merge branch 'external-buffers-images2' into implicit-tiling 2021-11-11 20:43:28 -05:00
Kevin Ring 29778d6648 Merge remote-tracking branch 'origin/main' into overlays-on-3dtiles 2021-11-10 13:29:30 +11:00
Nithin Pranesh 19da272405 add more Availability tests 2021-11-07 02:10:38 -05:00
Kevin Ring d2f0cf33fa Merge remote-tracking branch 'origin/main' into s2 2021-11-05 16:34:49 +11:00
Kevin Ring 9f1c1b27d2 More tests. 2021-11-05 15:40:30 +11:00
Nithin Pranesh ea5f5aaee4 fix usage of vec3 instead of dvec3 2021-11-04 21:52:53 -04:00
Nithin Pranesh 134db78716 Merge branch 'main' into implicit-tiling 2021-11-04 21:47:30 -04:00
Nithin Pranesh ff23bff509 gcc/clang warning 2021-11-04 17:19:04 -04:00
Nithin Pranesh 1724f91cb0 fix gcc/clang warnings 2021-11-04 15:41:56 -04:00
Kevin Ring 92f0d71b51 WIP support for S2 bounding volumes. 2021-11-04 23:58:58 +11:00
Nithin Pranesh c234ceb735 Continue refactoring subtree loading logic into tile traversal
everything is broken
2021-11-04 00:37:24 -04:00
Nithin Pranesh a86e534c1b add tests for new addSubtree variant and findChildNode 2021-11-03 01:28:40 -04:00
Nithin Pranesh 6dc7a7b787 add faster way to insert new child subtree 2021-11-03 00:46:48 -04:00
Nithin Pranesh b311d44d6b WIP move subtree loading to Tileset.cpp 2021-11-02 04:43:12 -04:00
Ian Lilley 944e85f9d5 added new GLM defines 2021-11-01 10:29:11 -04:00
Nithin Pranesh 380b2f6f87 test OctreeAvailability / fix bugs exploited by test 2021-10-26 16:38:22 -04:00
Nithin Pranesh 6c12c66848 renamed AvailabilityTree -> Availability 2021-10-26 14:49:35 -04:00
Nithin Pranesh 47935f824d fix AvailabilityAccessor, gcc/clang tests should pass now 2021-10-26 11:50:59 -04:00
Nithin Pranesh c3d1e1e660 turn TileAvailabilityFlags into enum + gcc warnings 2021-10-25 23:04:05 -04:00
Nithin Pranesh 7fdd9afbb5 Merge branch 'main' into implicit-tiling 2021-10-25 16:18:31 -04:00
Nithin Pranesh 46cae3bd03 tests for AvailabilityUtilities and QuadtreeAvailability 2021-10-25 16:11:49 -04:00
Kevin Ring 06fd62b6a8 Better handling of geometric error for leaf tiles. 2021-10-19 23:38:41 +11:00
Nithin Pranesh 306fc64d75 more gcc/clang warnings fixed 2021-10-13 11:40:33 -04:00
Nithin Pranesh f5c30aca51 gcc/clang warnings 2021-10-13 11:18:42 -04:00
Nithin Pranesh f9eda479f5 fix some gcc/clang warnings 2021-10-13 11:01:56 -04:00
Nithin Pranesh b5b385424e avoid using a global morton index 2021-10-12 10:12:30 -04:00
Sean Lilley 52283f3359 Fix includes 2021-10-11 17:28:44 -04:00
Nithin Pranesh 1cbb2f4cc9 hook up OctreeAvailability into implicit tiling 2021-10-11 14:41:58 -04:00
Nithin Pranesh ac2db1a119 add OctreeAvailability 2021-10-11 13:52:01 -04:00
Nithin Pranesh 03c0e1da97 better names for availability classes? 2021-10-09 15:49:09 -04:00
Nithin Pranesh 7844ad5d61 remove needless constexpr 2021-10-09 15:29:07 -04:00
Nithin Pranesh c74ddb9f31 small fixes, simple implicit quadtree tileset almost working 2021-10-08 20:52:32 -04:00
Nithin Pranesh 8724a676e8 small fixes, fix test 2021-10-06 20:34:15 -04:00
Nithin Pranesh a3a9177c96 Availability accessors, Generalized some availability functionality
Tried too hook up the subtree content parsing back into the availability tree.
Close to being able to test on a basic tileset.
2021-10-06 16:12:02 -04:00
Nithin Pranesh b8f21fa85f subtree file parsing, some more adjustment to subtree representation
lots of async nonsense
2021-10-06 03:54:47 -04:00
Nithin Pranesh 70d31d64fb implicit tileset parsing, some rearrangement/fixes in quadtreeSubtreeAvailability 2021-10-05 17:23:10 -04:00
Nithin Pranesh 07eb06718a format 2021-10-05 01:22:32 -04:00
Nithin Pranesh b577556e11 fixed issues from merge, added subtree requests 2021-10-05 01:19:52 -04:00
Nithin Pranesh c05591858e Merge branch 'main' into implicit-tiling 2021-10-05 00:23:28 -04:00
Nithin Pranesh be91170625 return more availability info from a single tile availability query 2021-10-04 23:51:48 -04:00
Nithin Pranesh fb2e0374d0 started hooking up quadtree subtree availability
compiling again now, regular quantized mesh working again
2021-10-03 20:55:27 -04:00
Nithin Pranesh a139035a60 finished(?) QuadtreeSubtreeAvailability, everything else still WIP 2021-10-02 21:02:58 -04:00
Nithin Pranesh 0f92b5ef39 WIP some progress on new subtree availability (for quadtrees)
Accidentally assumed subtreeLevels are always 3. Need to generalize that now.
2021-10-02 11:34:00 -04:00
Nithin Pranesh e171dadb6a tiling schemes look correct now and some upgrades in Tile.cpp, availability next 2021-09-29 17:12:59 -04:00
Nithin Pranesh 4e394ddb27 added octree tiling scheme 2021-09-28 12:50:24 -04:00
Marco Hutter 9855400417 Use proper relative paths in all public headers 2021-09-28 17:23:07 +02:00
Marco Hutter 27fdd26e27 Merge remote-tracking branch 'origin/main' into include-style-fixes
# Conflicts:
#	Cesium3DTilesSelection/include/Cesium3DTilesSelection/GltfContent.h
#	Cesium3DTilesSelection/src/Batched3DModelContent.cpp
#	Cesium3DTilesSelection/src/CompositeContent.cpp
#	Cesium3DTilesSelection/src/ExternalTilesetContent.cpp
#	Cesium3DTilesSelection/src/GltfContent.cpp
#	Cesium3DTilesSelection/src/QuantizedMeshContent.cpp
#	Cesium3DTilesSelection/src/Tile.cpp
#	Cesium3DTilesSelection/src/TileContentFactory.cpp
#	Cesium3DTilesSelection/src/calcQuadtreeMaxGeometricError.h
2021-09-28 14:38:33 +02:00
Marco Hutter 0e827f7afd Updated includes based on clang-format with Regroup
This MAINLY inserted some blank lines between
the blocks.
2021-09-26 17:46:27 +02:00
Marco Hutter 49781e9011 Include style fixes for CesiumGeometry 2021-09-19 15:18:58 +02:00
Marco Hutter 3a10d40675 Made Axis an enum class
C26812: The enum type ... is unscoped. Prefer 'enum class' over 'enum'
2021-09-15 16:22:03 +02:00
Marco Hutter 46c9c7ec7d Formatting after adding const 2021-09-15 15:38:06 +02:00
Marco Hutter de8145ab9e Added missing const keyword
C26496: The variable ... is assigned only once, mark it as const
2021-09-15 15:37:29 +02:00
Kevin Ring c0b7b130fb Rename intersect to computeIntersection. 2021-08-23 19:22:08 +10:00
Kevin Ring 188ade5e48 Add tests for computeUnion. 2021-08-23 19:08:28 +10:00
Kevin Ring 96bb7443e0 Add Rectangle changes from clipping-2.5d-kring branch. 2021-08-23 18:56:49 +10:00
Daniel Krupka 8b3bb34827 Rename Cesium3DTiles -> Cesium3DTilesSelection 2021-07-30 11:45:37 -04:00
Kevin Ring 4e45bab460 Use angle brackets to #include catch2. 2021-07-04 22:57:11 +10:00
Kevin Ring 1e784cabc5
Merge pull request #262 from zy6p/feat-geo-test
feat: CesiumGeometry::clipTriangleAtAxisAlignedThreshold add unit test
2021-06-11 15:22:48 +10:00
knowmore f1100c1620 feat: style use noexcept 2021-06-10 09:38:47 +08:00
knowmore ab4c4b05b0 fix: clang-format source code 2021-06-09 23:32:09 +08:00
knowmore f09866589b feat: Geometry clipTriangle unit test 2021-06-09 22:42:11 +08:00
knowmore dcf1bc26e7 feat: TriangleClipVertex == != operate 2021-06-09 22:40:52 +08:00
knowmore 0c6961fee3 fix: format code 2021-05-30 11:02:01 +08:00
knowmore 36691da733 fix: missing includes cstdint 2021-05-30 10:34:44 +08:00
Marco Hutter c8f961c689 Merge remote-tracking branch 'origin/main' into log-tile-ids
# Conflicts:
#	CHANGES.md
2021-05-05 13:47:34 +02:00
Marco Hutter 51e43bbd49 Comment fixes for clang formatting 2021-04-29 17:06:34 +02:00
Marco Hutter 6cfd1c9c88 Added missing header 2021-04-26 17:58:36 +02:00
Kevin Ring 6bb1ac703d Merge remote-tracking branch 'origin/main' into clang-tidy-first-pass 2021-04-15 16:25:45 +10:00
Jordi Torres 6333b1cb0a First pass of clang tidy
Mainly caching else after return, not using empty() instead of size() == 0, missing const references to avoid copies and removing redundant initializations
2021-04-12 13:22:03 +02:00
Marco Hutter 611822bc37 Formatting 2021-04-10 17:15:29 +02:00
Marco Hutter 3a26e98d20 Added unit tests for AxisTransforms 2021-04-10 17:12:47 +02:00
Marco Hutter f7ea567ab6 Renamed Axes to AxisTransforms 2021-04-10 17:12:31 +02:00
Marco Hutter 868094a7ba Converted axis to enum 2021-04-08 17:54:35 +02:00
Marco Hutter d9dada4063 Fixed an import. How did that even work?
MSVC, GCC and Clang complain about valid integer type conversions,
but this self-import remained unnoticed. That's amazing.
2021-04-07 20:03:38 +02:00
Shehzan Mohammed 8a2957d32f Run clang format 2021-03-08 20:39:46 -05:00
Shehzan Mohammed ef8bf72710 Fix missing header files 2021-03-08 20:30:50 -05:00
Shehzan Mohammed 3faff010d7 Installing thirdparty deps working on linux 2021-03-03 20:47:31 -05:00
Kevin Ring 34bbd2aa31 WIP cmake install. 2021-03-04 09:48:09 +11:00
Samuel Vargas 5d03477551
Rearchitecture cesium-native's CMake structure
This is necessary to support using cesium-native as submodule in
in asset-pipeline

- `draco` and `sqlite3` are guarded with if target blocks to allow
  asset-pipeline to provide their own version of the targets.
- Tests are now a dedicated target that clients don't have to build
- Test sources / headers are now a target property instead of using the $<BUILD_INTERFACE... hack
- Added common include variables in extern/CMakeLists.txt
- Defined `RAPIDJSON_HAS_CXX11_RVALUE_REFS` for move support for RapidJson
- Private include directories are automatically extracted via CMake magic
  for use in catch tests
- Globbing is now wrapped in a dedicated function that allows one to use
  CONFIGURE_DEPENDS depending on their preferences (defaults to OFF)
  to retain the old behavior.
2021-03-02 14:28:04 -05:00
Marco Hutter 67dce23a30 Doxygen fixes 2021-02-15 17:14:49 +01:00
Marco Hutter 22c7883f24 Merge remote-tracking branch 'origin/master' into camera-refactoring 2021-02-02 15:41:05 +01:00
Marco Hutter 37706adc76 Moved CullingVolume to CesiumGeometry
Also removed const of members
2021-02-01 16:12:26 +01:00
Marco Hutter 731b0a8515 Refactored Camera into ViewState
Renamed the structure from Camera to ViewState. Removed properties
that had not been used and functions that had not been called. Made
it as const as possible (as it is not supposed to be modified
during traversal). Extracted Frustum structure from the four
planes.
2021-01-26 22:10:44 +01:00
Kevin Ring 06fe04dd16 Preserve precision in upsampled tile rectangles. 2021-01-22 18:49:37 +11:00
Kevin Ring b654781b10 Merge remote-tracking branch 'origin/master' into upsample-skirt 2021-01-05 15:01:58 +11:00
unknown c1c1408160 add option to expose private src for other libraries. Add tests for SkirtMeshMetadata 2020-12-23 15:57:08 -05:00
Nithin Pranesh 89b88f14ed Marked classes final
All classes marked final except for RasterOverlay, RasterOverlayTileProvider, ITaskProcessor, IPrepareRendererResources, and IAsset*.
2020-12-07 10:45:47 -05:00
Kevin Ring eb4c238856 Add noexcept and constexpr in more places. 2020-12-03 23:37:21 +11:00
Kevin Ring e2a3f0d2db Add constexpr and noexcept in a bunch of places. 2020-12-03 23:18:32 +11:00
Kevin Ring fc0e171c03 Fix problems compiling with clang. 2020-12-03 10:23:17 +11:00
Marco Hutter e1e8782f00 Added last documentation. Minor fixes. 2020-11-11 16:25:35 +01:00
Marco Hutter e3f4c8419f Documentation for TileContext. Minor fixes. 2020-11-11 15:43:08 +01:00
Marco Hutter 808b0cfd6a Minor code fixes.
Details summarized in PR.
2020-11-03 23:13:00 +01:00
Marco Hutter ecab20fe03 Documentation fixes from review comments 2020-11-03 18:31:27 +01:00
Marco Hutter 40dc4bd883
Apply basic suggestions from code review
This contains the changes that could be applied directly (typos and 
minor wording changes). Further suggestions will be addressed 
with a separate commit.

Co-authored-by: Kevin Ring <kevin@kotachrome.com>
2020-11-03 15:17:25 +01:00
Marco Hutter 8ee683a39e Documentation fixes, pedantic mode. 2020-11-01 16:46:54 +01:00
Marco Hutter 86752aecea Removed invalid namespace prefix 2020-10-31 17:44:03 +01:00
Marco Hutter b88026112f Documentation for basic classes. Minor fixes.
Documentation for some of the basic classes in CesiumGeospatial
(partially taken from CesiumJS).

Basic documentation for Tile IDs.

Minor fixes for links and formatting.
2020-10-31 17:38:12 +01:00
Marco Hutter c1440647f6 Merge remote-tracking branch 'origin/master' into basic-doxygen-fixes-part-2
# Conflicts:
#	Cesium3DTiles/include/Cesium3DTiles/Tile.h
2020-10-31 15:02:08 +01:00
Kevin Ring 2f2cdd1074 Use glm funcs, avoid public cutouts field. 2020-10-29 10:25:51 +11:00
Marco Hutter 6a777929c1 Smaller doxygen fixes and extensions
Mainly minor fixes, mainly done while browsing over the
code while reading more about the usage and implementation
2020-10-28 19:37:42 +01:00
Kevin Ring 5d5b80ecb9 Make Rectangle a struct because it has public fields. 2020-10-28 16:01:55 +11:00
Kevin Ring 8089c66a01
Merge pull request #23 from CesiumGS/basic-doxygen-fixes
Basic doxygen fixes
2020-10-28 15:56:56 +11:00
Kevin Ring 4cdd618dd0
Update CesiumGeometry/include/CesiumGeometry/Rectangle.h 2020-10-28 15:53:26 +11:00
Marco Hutter b72787029d Documentation for namespaces
Without them, typedefs of these namespaces did not
appear in the documentation
2020-10-26 23:50:21 +01:00
Marco Hutter d424c601b3 Documentation for basic classes and TileSelectionState 2020-10-26 23:06:29 +01:00
Marco Hutter 2b4cdc95ac First, basic doxygen fixes
Mainly fixing broken links from invalid "see" references,
missing classes, and basic elements that had been undocumented
2020-10-26 19:07:18 +01:00
Marco Hutter 1a5dcb1b56 On MSVC, need algorithm for std::min and std::max 2020-10-26 18:03:16 +01:00
Kevin Ring b8fb87fa9e Fix generated texture coordinates near the anti-meridian. 2020-10-16 17:43:32 +11:00
Kevin Ring 5649c562d0 Further WIP upsampling. 2020-10-13 10:16:21 +11:00
Kevin Ring 7c8eb7ac5a WIP upsampling of geometry for more detailed rasters. 2020-10-09 09:12:59 +11:00
Kevin Ring dc34882120 Fix warning on Linux. 2020-10-06 17:26:54 +11:00
Kevin Ring ac13c9ebfc Don't request quantized-mesh tiles that don't exist. 2020-10-06 17:20:41 +11:00
Kevin Ring 7267ae9251 Merge remote-tracking branch 'origin/master' into availability 2020-10-02 17:57:51 +10:00
Kevin Ring 19ca31ccff WIP tile availability. 2020-10-02 10:55:58 +10:00
Kevin Ring 8782333ef1 Improvements to CMake build. 2020-10-01 22:46:16 +10:00
Kevin Ring fe15b640b8 Fix GCC warnings. 2020-09-15 16:32:43 +10:00
Kevin Ring 6c4972be34 Move overlay logic out of Tile. 2020-09-08 16:09:52 +10:00
Kevin Ring 6aff3f94ad Working raster overlays. 2020-09-04 17:01:05 +10:00
Kevin Ring d027751f19 Progress toward raster mapping. 2020-09-02 18:03:25 +10:00
Kevin Ring ffc560e7cc WIP raster overlay system. 2020-08-28 17:25:23 +10:00
Kevin Ring c216d57289 BoundingRegion docs. 2020-08-18 12:13:18 +10:00
Kevin Ring fd01ef6a79 Add missing #include. 2020-08-17 20:33:49 +10:00
Kevin Ring 65f350ea30 Throw a more sensible error on invalid arguments. 2020-08-17 20:18:41 +10:00
Kevin Ring 181e3c10ce Require Ray direction to be normalized. 2020-08-17 15:09:34 +10:00
Kevin Ring c890158aca Doc for Ray class. 2020-08-17 15:07:03 +10:00
Kevin Ring 52aabbcb83 Add Plane tests and docs. 2020-08-17 13:59:49 +10:00
Kevin Ring 40a1f0cd1e IntersectionTests doc and tests. 2020-08-17 12:58:48 +10:00
Kevin Ring 4d7bb9b394 Doxygen improvements. 2020-08-14 23:48:44 +10:00
Kevin Ring 0592dc79d1 Doc and tests for BoundingSphere. 2020-08-14 23:06:38 +10:00
Kevin Ring 00cb9024e2 Fix more linux compile errors. 2020-07-25 23:48:18 +10:00
Kevin Ring 08b4348c60 Move tests into library directories. 2020-07-25 22:56:53 +10:00
Kevin Ring 3b138ec145 Put everything in the right namespace. 2020-07-24 22:59:53 +10:00
Kevin Ring 6d4beea85d Better physical org of files. 2020-07-24 21:15:46 +10:00