Skip to content

Commit 2580374

Browse files
authored
Merge pull request #84 from JuliaGeometry/refactor
Primitives in separate folder
2 parents a6ef538 + 003851d commit 2580374

17 files changed

+1006
-1006
lines changed

src/GeometryBasics.jl

Lines changed: 67 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,71 @@
11
module GeometryBasics
22

3-
using StaticArrays, Tables, StructArrays, IterTools, LinearAlgebra
4-
using EarCut_jll
5-
6-
using Base: @propagate_inbounds
7-
8-
include("fixed_arrays.jl")
9-
include("offsetintegers.jl")
10-
include("basic_types.jl")
11-
include("interfaces.jl")
12-
include("metadata.jl")
13-
include("viewtypes.jl")
14-
include("geometry_primitives.jl")
15-
include("rectangles.jl")
16-
include("meshes.jl")
17-
include("triangulation.jl")
18-
include("lines.jl")
19-
include("boundingboxes.jl")
20-
21-
export AbstractGeometry, GeometryPrimitive
22-
export Mat, Point, Vec
23-
export LineFace, Polytope, Line, NgonFace, convert_simplex
24-
export LineString, AbstractPolygon, Polygon, MultiPoint, MultiLineString, MultiPolygon
25-
export Simplex, connect, Triangle, NSimplex, Tetrahedron
26-
export QuadFace, metafree, coordinates, TetrahedronFace
27-
export TupleView, SimplexFace, Mesh, meta
28-
export Triangle, TriangleP
29-
export AbstractFace, TriangleFace, QuadFace, GLTriangleFace
30-
export OffsetInteger, ZeroIndex, OneIndex, GLIndex
31-
export FaceView, SimpleFaceView
32-
export AbstractPoint, PointMeta, PointWithUV
33-
export PolygonMeta, MultiPointMeta, MultiLineStringMeta, MeshMeta, LineStringMeta, MultiPolygonMeta
34-
export decompose, coordinates, faces, normals, decompose_uv, decompose_normals, texturecoordinates
35-
export Tesselation, pointmeta, Normal, UV, UVW
36-
export GLTriangleFace, GLNormalMesh3D, GLPlainTriangleMesh, GLUVMesh3D, GLUVNormalMesh3D
37-
export AbstractMesh, Mesh, TriangleMesh
38-
export GLNormalMesh2D, PlainTriangleMesh
39-
export MetaT, meta_table
40-
41-
# all the different predefined mesh types
42-
# Note: meshes can contain arbitrary meta information,
43-
export AbstractMesh, TriangleMesh, PlainMesh, GLPlainMesh, GLPlainMesh2D, GLPlainMesh3D
44-
export UVMesh, GLUVMesh, GLUVMesh2D, GLUVMesh3D
45-
export NormalMesh, GLNormalMesh, GLNormalMesh2D, GLNormalMesh3D
46-
export NormalUVMesh, GLNormalUVMesh, GLNormalUVMesh2D, GLNormalUVMesh3D
47-
export NormalUVWMesh, GLNormalUVWMesh, GLNormalUVWMesh2D, GLNormalUVWMesh3D
48-
49-
# mesh creation functions
50-
export triangle_mesh, triangle_mesh, uv_mesh
51-
export uv_mesh, normal_mesh, uv_normal_mesh
52-
53-
export height, origin, radius, width, widths, xwidth, yheight
54-
export HyperSphere, Circle, Sphere
55-
export Cylinder, Cylinder2, Cylinder3, Pyramid, extremity
56-
export Rect, Rect2D, Rect3D, IRect, IRect2D, IRect3D, FRect, FRect2D, FRect3D
57-
export before, during, isinside, isoutside, meets, overlaps, intersects, finishes
58-
export centered, direction, area, update
59-
export max_dist_dim, max_euclidean, max_euclideansq, min_dist_dim, min_euclidean
60-
export min_euclideansq, minmax_dist_dim, minmax_euclidean, minmax_euclideansq
61-
export self_intersections, split_intersections
3+
using StaticArrays, Tables, StructArrays, IterTools, LinearAlgebra
4+
using EarCut_jll
5+
6+
using Base: @propagate_inbounds
7+
8+
include("fixed_arrays.jl")
9+
include("offsetintegers.jl")
10+
include("basic_types.jl")
11+
12+
include("primitives/rectangles.jl")
13+
include("primitives/spheres.jl")
14+
include("primitives/cylinders.jl")
15+
include("primitives/pyramids.jl")
16+
include("primitives/particles.jl")
17+
18+
include("interfaces.jl")
19+
include("metadata.jl")
20+
include("viewtypes.jl")
21+
include("geometry_primitives.jl")
22+
include("meshes.jl")
23+
include("triangulation.jl")
24+
include("lines.jl")
25+
include("boundingboxes.jl")
26+
27+
export AbstractGeometry, GeometryPrimitive
28+
export Mat, Point, Vec
29+
export LineFace, Polytope, Line, NgonFace, convert_simplex
30+
export LineString, AbstractPolygon, Polygon, MultiPoint, MultiLineString, MultiPolygon
31+
export Simplex, connect, Triangle, NSimplex, Tetrahedron
32+
export QuadFace, metafree, coordinates, TetrahedronFace
33+
export TupleView, SimplexFace, Mesh, meta
34+
export Triangle, TriangleP
35+
export AbstractFace, TriangleFace, QuadFace, GLTriangleFace
36+
export OffsetInteger, ZeroIndex, OneIndex, GLIndex
37+
export FaceView, SimpleFaceView
38+
export AbstractPoint, PointMeta, PointWithUV
39+
export PolygonMeta, MultiPointMeta, MultiLineStringMeta, MeshMeta, LineStringMeta,
40+
MultiPolygonMeta
41+
export decompose, coordinates, faces, normals, decompose_uv, decompose_normals,
42+
texturecoordinates
43+
export Tesselation, pointmeta, Normal, UV, UVW
44+
export GLTriangleFace, GLNormalMesh3D, GLPlainTriangleMesh, GLUVMesh3D, GLUVNormalMesh3D
45+
export AbstractMesh, Mesh, TriangleMesh
46+
export GLNormalMesh2D, PlainTriangleMesh
47+
export MetaT, meta_table
48+
49+
# all the different predefined mesh types
50+
# Note: meshes can contain arbitrary meta information,
51+
export AbstractMesh, TriangleMesh, PlainMesh, GLPlainMesh, GLPlainMesh2D, GLPlainMesh3D
52+
export UVMesh, GLUVMesh, GLUVMesh2D, GLUVMesh3D
53+
export NormalMesh, GLNormalMesh, GLNormalMesh2D, GLNormalMesh3D
54+
export NormalUVMesh, GLNormalUVMesh, GLNormalUVMesh2D, GLNormalUVMesh3D
55+
export NormalUVWMesh, GLNormalUVWMesh, GLNormalUVWMesh2D, GLNormalUVWMesh3D
56+
57+
# mesh creation functions
58+
export triangle_mesh, triangle_mesh, uv_mesh
59+
export uv_mesh, normal_mesh, uv_normal_mesh
60+
61+
export height, origin, radius, width, widths, xwidth, yheight
62+
export HyperSphere, Circle, Sphere
63+
export Cylinder, Cylinder2, Cylinder3, Pyramid, extremity
64+
export Rect, Rect2D, Rect3D, IRect, IRect2D, IRect3D, FRect, FRect2D, FRect3D
65+
export before, during, isinside, isoutside, meets, overlaps, intersects, finishes
66+
export centered, direction, area, update
67+
export max_dist_dim, max_euclidean, max_euclideansq, min_dist_dim, min_euclidean
68+
export min_euclideansq, minmax_dist_dim, minmax_euclidean, minmax_euclideansq
69+
export self_intersections, split_intersections
6270

6371
end # module

0 commit comments

Comments
 (0)