Create space module
This commit is contained in:
parent
6300d4b539
commit
e6bb9362ed
8 changed files with 51 additions and 13 deletions
2
Makefile
2
Makefile
|
@ -22,7 +22,7 @@ SRC_CRATE = $(TARGET).rs
|
|||
EXTERN_DIR = $(ROOT_DIR)/extern
|
||||
BUILD_DIR = $(ROOT_DIR)/lib
|
||||
|
||||
CFG = --cfg=color --cfg=geom --cfg=noise --cfg=transform
|
||||
CFG = --cfg=color --cfg=geom --cfg=noise --cfg=transform --cfg=space
|
||||
|
||||
TEST = $(TARGET)
|
||||
TEST_BUILD_DIR = $(ROOT_DIR)/test
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Core datatypes and conversion traits for 3D mathematics
|
||||
//! Core datatypes and conversion traits for 3D mathematics
|
||||
|
||||
pub use self::dim::Dimensional;
|
||||
pub use self::swap::Swap;
|
||||
|
|
|
@ -13,18 +13,12 @@
|
|||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Types and traits for geometric intersections and transformations
|
||||
|
||||
pub use self::frustum::{Frustum, FrustumPoints};
|
||||
pub use self::plane::Plane3;
|
||||
pub use self::point::{Point, Point2, Point3};
|
||||
pub use self::ray::Ray3;
|
||||
|
||||
pub mod frustum;
|
||||
pub mod plane;
|
||||
pub mod point;
|
||||
pub mod ray;
|
||||
|
||||
pub mod frustum;
|
||||
|
||||
pub mod octree;
|
||||
pub mod quadtree;
|
||||
|
|
|
@ -41,3 +41,7 @@ pub mod noise;
|
|||
#[cfg(transform)]
|
||||
#[path = "transform/transform.rs"]
|
||||
pub mod transform;
|
||||
|
||||
#[cfg(space)]
|
||||
#[path = "space/space.rs"]
|
||||
pub mod space;
|
||||
|
|
16
src/space/bsp.rs
Normal file
16
src/space/bsp.rs
Normal file
|
@ -0,0 +1,16 @@
|
|||
// Copyright 2013 The Lmath Developers. For a full listing of the authors,
|
||||
// refer to the AUTHORS file at the top-level directory of this distribution.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
pub struct BSP;
|
|
@ -13,6 +13,6 @@
|
|||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// TODO
|
||||
|
||||
// http://gameprogrammingpatterns.com/spatial-partition.html
|
||||
|
||||
pub struct Octree;
|
|
@ -13,7 +13,7 @@
|
|||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// TODO
|
||||
|
||||
// http://gameprogrammingpatterns.com/spatial-partition.html
|
||||
// http://github.com/mozilla/servo/blob/master/src/components/main/compositing/quadtree.rs
|
||||
|
||||
pub struct Quadtree;
|
24
src/space/space.rs
Normal file
24
src/space/space.rs
Normal file
|
@ -0,0 +1,24 @@
|
|||
// Copyright 2013 The Lmath Developers. For a full listing of the authors,
|
||||
// refer to the AUTHORS file at the top-level directory of this distribution.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Various data structures for space partitioning and visibility determination
|
||||
|
||||
pub use self::bsp::BSP;
|
||||
pub use self::octree::Octree;
|
||||
pub use self::quadtree::Quadtree;
|
||||
|
||||
pub mod bsp;
|
||||
pub mod octree;
|
||||
pub mod quadtree;
|
Loading…
Reference in a new issue