Project OpenGeode
namespace geode
Namespaces
Records
- AABBTree
- AttributeBase
- AttributeCoordinateReferenceSystem
- AttributeLinearInterpolationImpl
- AttributeLinearInterpolation
- AttributeManager
- AttributeProperties
- BRepBuilder
- BRepComponentMeshEdges
- BRepComponentMeshPolygons
- BRepInput
- BRepMappings
- BRepMeshesElementMapping
- BRepMeshesVertexMapping
- BRepOutput
- BRep
- BaseRange
- BijectiveMapping
- BitseryExtensions
- BlockCollection
- BlockCollectionsBuilder
- BlockCollections
- BlockDefinition
- BlockPolyhedraFacetVertices
- BlockPolyhedronFacet
- Block
- BlocksBuilder
- Blocks
- BoundaryDefinition
- BoundingBox
- CRSTag
- CachedValue
- CellArray
- Circle
- ComponentID
- ComponentMeshElement
- ComponentMeshVertex
- ComponentTag
- Component
- ConsoleLoggerClient
- ConsoleProgressLoggerClient
- ConstantAttribute
- CoordinateReferenceSystemManagerBuilder
- CoordinateReferenceSystemManager
- CoordinateReferenceSystemManagersBuilder
- CoordinateReferenceSystemManagers
- CoordinateReferenceSystem
- CoordinateSystem
- CornerCollection
- CornerCollectionsBuilder
- CornerCollections
- CornerDefinition
- Corner
- CornersBuilder
- Corners
- CorrectnessInfo
- Cylinder
- DecrementOperator
- DistanceToEdge
- DistanceToTetrahedron
- DistanceToTriangle
- DynamicNNSearch
- EdgeVertex
- EdgedCurveBuilder
- EdgedCurveInput
- EdgedCurveOutput
- EdgedCurve
- EraserRange
- EuclideanDistanceTransform
- Factory
- Frame
- GenericAttributeConversion
- GenericCircle
- GenericLine
- GenericMapping
- GenericMeshAABB
- GenericMeshAccessor
- GenericPlane
- GenericPolygon
- GenericSegment
- GenericSphere
- GenericTetrahedron
- GenericTriangle
- GraphBuilder
- GraphInput
- GraphOutput
- Graph
- GreyscaleColor
- GridBuilder
- GridPointFunction
- GridScalarFunction
- Grid
- Growable
- HybridSolidBuilder
- HybridSolidInput
- HybridSolidOutput
- HybridSolid
- IOFile
- IdentifierBuilder
- Identifier
- IncrementOperator
- InfiniteLine
- Input
- IntersectionResult
- Library
- LightRegularGridInput
- LightRegularGridOutput
- LightRegularGrid
- LineCollection
- LineCollectionsBuilder
- LineCollections
- LineDefinition
- Line
- LinesBuilder
- Lines
- LoggerClient
- LoggerManager
- Logger
- MappingBase
- MeshBuilderFactoryKey
- MeshBuilderFactory
- MeshEdge
- MeshEdgesInclusion
- MeshElement
- MeshElementsInclusion
- MeshFactory
- MeshImplTag
- MeshPolygon
- MeshPolygonsInclusion
- MeshTypeTag
- MeshVertex
- MeshVerticesInclusion
- MeshesElementsMapping
- ModelBoundariesBuilder
- ModelBoundaries
- ModelBoundary
- ModelComponentMeshEdges
- ModelComponentMeshPolygons
- ModelConcatener
- ModelMapping
- ModelMappings
- ModelMeshesAABBTree
- ModelMeshesElementMapping
- ModelMeshesVertexMapping
- ModelToMeshMappings
- MultipleValueStorage
- NNSearch
- NamedType
- OneValueStorage
- OpenGeodeBRepInput
- OpenGeodeBRepOutput
- OpenGeodeBasicLibrary
- OpenGeodeEdgedCurveBuilder
- OpenGeodeEdgedCurveInput
- OpenGeodeEdgedCurveOutput
- OpenGeodeEdgedCurve
- OpenGeodeException
- OpenGeodeGeometryLibrary
- OpenGeodeGraphBuilder
- OpenGeodeGraphInput
- OpenGeodeGraphOutput
- OpenGeodeGraph
- OpenGeodeHybridSolidBuilder
- OpenGeodeHybridSolidInput
- OpenGeodeHybridSolidOutput
- OpenGeodeHybridSolid
- OpenGeodeImageLibrary
- OpenGeodeMeshLibrary
- OpenGeodeModelLibrary
- OpenGeodePointException
- OpenGeodePointSetBuilder
- OpenGeodePointSetInput
- OpenGeodePointSetOutput
- OpenGeodePointSet
- OpenGeodePolygonalSurfaceBuilder
- OpenGeodePolygonalSurfaceInput
- OpenGeodePolygonalSurfaceOutput
- OpenGeodePolygonalSurface
- OpenGeodePolyhedralSolidBuilder
- OpenGeodePolyhedralSolidInput
- OpenGeodePolyhedralSolidOutput
- OpenGeodePolyhedralSolid
- OpenGeodeRasterImageInput
- OpenGeodeRasterImageOutput
- OpenGeodeRegularGridBuilder
- OpenGeodeRegularGridInput
- OpenGeodeRegularGridOutput
- OpenGeodeRegularGrid
- OpenGeodeSectionInput
- OpenGeodeSectionOutput
- OpenGeodeSegmentException
- OpenGeodeTetrahedralSolidBuilder
- OpenGeodeTetrahedralSolidInput
- OpenGeodeTetrahedralSolidOutput
- OpenGeodeTetrahedralSolid
- OpenGeodeTetrahedronException
- OpenGeodeTriangleException
- OpenGeodeTriangulatedSurfaceBuilder
- OpenGeodeTriangulatedSurfaceInput
- OpenGeodeTriangulatedSurfaceOutput
- OpenGeodeTriangulatedSurface
- OpenGeodeVertexSetBuilder
- OpenGeodeVertexSetInput
- OpenGeodeVertexSetOutput
- OpenGeodeVertexSet
- Output
- OwnerCircle
- OwnerInfiniteLine
- OwnerPlane
- OwnerPolygon
- OwnerRay
- OwnerSegment
- OwnerSphere
- OwnerTetrahedron
- OwnerTriangle
- PImpl
- PassKey
- Plane
- PointSetBuilder
- PointSetInput
- PointSetOutput
- PointSet
- Point
- PolygonEdge
- PolygonVertex
- Polygon
- PolygonalSurfaceBuilder
- PolygonalSurfaceInput
- PolygonalSurfaceOutput
- PolygonalSurface
- PolyhedralSolidBuilder
- PolyhedralSolidInput
- PolyhedralSolidOutput
- PolyhedralSolid
- PolyhedronFacetEdge
- PolyhedronFacetVertex
- PolyhedronFacet
- PolyhedronVertex
- ProgressLoggerClient
- ProgressLoggerManager
- ProgressLogger
- RGBColor
- RasterImageInput
- RasterImageOutput
- RasterImage
- RayTracing3D
- Ray
- ReadOnlyAttribute
- RegularGridBuilder
- RegularGridInput
- RegularGridOutput
- RegularGrid
- RelationshipsBuilder
- Relationships
- SectionBuilder
- SectionComponentMeshEdges
- SectionComponentMeshPolygons
- SectionExtruderOptions
- SectionInput
- SectionMeshesElementMapping
- SectionMeshesVertexMapping
- SectionOutput
- Section
- Segment
- SidedSurface
- SimplicialBRepCreator
- SimplicialSectionCreator
- Singleton
- SolidEdgesBuilder
- SolidEdges
- SolidFacetsBuilder
- SolidFacets
- SolidMeshBuilder
- SolidMesh
- SortedSurfaces
- SparseAttribute
- Sphere
- SquareMatrix
- SurfaceCollection
- SurfaceCollectionsBuilder
- SurfaceCollections
- SurfaceDefinition
- SurfaceEdgesBuilder
- SurfaceEdges
- SurfaceMeshBuilder
- SurfaceMesh
- SurfacePolygonEdge
- SurfacePolygonsEdgeVertices
- Surface
- SurfacesBuilder
- Surfaces
- TIndices
- TRange
- TReverseRange
- TetrahedralSolidBuilder
- TetrahedralSolidInput
- TetrahedralSolidOutput
- TetrahedralSolidPointFunction
- TetrahedralSolidScalarFunction
- TetrahedralSolid
- Tetrahedron
- TextureManager
- TextureStorage
- Texture
- Timer
- TopologyBuilder
- Topology
- Triangle
- TriangulatedSurfaceBuilder
- TriangulatedSurfaceInput
- TriangulatedSurfaceOutput
- TriangulatedSurfacePointFunction
- TriangulatedSurfaceScalarFunction
- TriangulatedSurface
- UnzipFile
- VariableAttribute
- Vector
- VertexIdentifierBuilder
- VertexIdentifier
- VertexSetBuilder
- VertexSetInput
- VertexSetOutput
- VertexSet
- ZipFile
- uuid
Functions
geode_assertion_failed
void geode_assertion_failed(basic_string_view condition, basic_string_view message, basic_string_view file, int line)
void geode_assertion_failed(basic_string_view condition, basic_string_view message, basic_string_view file, int line)
geode_lippincott
int geode_lippincott()
int geode_lippincott()
Try to catch several exception types. Always return 1.
throw_lippincott
void throw_lippincott()
void throw_lippincott()
Catch all exceptions and rethrow an OpenGeodeException
operator""_uc
unsigned char operator""_uc(unsigned long long arg)
unsigned char operator""_uc(unsigned long long arg)
to_string
basic_string to_string(basic_string_view view)
basic_string to_string(basic_string_view view)
to_array
std::array<T, sizeof...(Args)> to_array(Args &&... args)
std::array<T, sizeof...(Args)> to_array(Args &&... args)
register_basic_serialize_pcontext
void register_basic_serialize_pcontext(PContext & context)
void register_basic_serialize_pcontext(PContext & context)
Register all the information needed by Bitsery to serialize the objects in the basic library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
register_basic_deserialize_pcontext
void register_basic_deserialize_pcontext(PContext & context)
void register_basic_deserialize_pcontext(PContext & context)
Register all the information needed by Bitsery to deserialize the objects in the basic library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
concatenate
void concatenate(Container & container, const Container & values)
void concatenate(Container & container, const Container & values)
concatenate
void concatenate(Container & container, Container && values)
void concatenate(Container & container, Container && values)
delete_vector_elements
index_t delete_vector_elements(const DeleteContainer & to_delete, ValueContainer & values)
index_t delete_vector_elements(const DeleteContainer & to_delete, ValueContainer & values)
Delete some elements from a given vector.
to_delete [in] Vector of the same size than values. If to_delete[i] is true the i-th element is deleted, else the element is kept.
values [in] Vector in which perform deletions.
return The number of deleted elements
extract_vector_elements
ValueContainer extract_vector_elements(const DeleteContainer & to_keep, const ValueContainer & in_values)
ValueContainer extract_vector_elements(const DeleteContainer & to_keep, const ValueContainer & in_values)
Create a new vector containing only some elements from a given vector.
to_keep [in] Vector of the same size than in_values. If to_keep[i] is true the i-th element is kept.
in_values [in] Vector in which perform deletions.
return A vector containing only kept elements of in_values
sort_unique
void sort_unique(Container & container)
void sort_unique(Container & container)
Modify the container by removing every duplicated values inside
Container Type of container.
container [in] container in which perform the search.
sort_unique
void sort_unique(Container & container, Comparison comp)
void sort_unique(Container & container, Comparison comp)
permute
void permute(Container & data, Span permutation)
void permute(Container & data, Span permutation)
old2new_permutation
vector old2new_permutation(Span permutation)
vector old2new_permutation(Span permutation)
register_geode_builder
void register_geode_builder()
void register_geode_builder()
register_geometry_serialize_pcontext
void register_geometry_serialize_pcontext(PContext & context)
void register_geometry_serialize_pcontext(PContext & context)
Register all the information needed by Bitsery to serialize the objects in the geometry library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
register_geometry_deserialize_pcontext
void register_geometry_deserialize_pcontext(PContext & context)
void register_geometry_deserialize_pcontext(PContext & context)
Register all the information needed by Bitsery to deserialize the objects in the geometry library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
register_image_serialize_pcontext
void register_image_serialize_pcontext(PContext & context)
void register_image_serialize_pcontext(PContext & context)
Register all the information needed by Bitsery to serialize the objects in the image library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
register_image_deserialize_pcontext
void register_image_deserialize_pcontext(PContext & context)
void register_image_deserialize_pcontext(PContext & context)
Register all the information needed by Bitsery to deserialize the objects in the image library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
filename_with_extension
path filename_with_extension(const std::filesystem::path & path)
path filename_with_extension(const std::filesystem::path & path)
filename_without_extension
path filename_without_extension(const std::filesystem::path & path)
path filename_without_extension(const std::filesystem::path & path)
filepath_without_extension
path filepath_without_extension(const std::filesystem::path & path)
path filepath_without_extension(const std::filesystem::path & path)
filepath_without_filename
path filepath_without_filename(const std::filesystem::path & path)
path filepath_without_filename(const std::filesystem::path & path)
extension_from_filename
basic_string_view extension_from_filename(basic_string_view filename)
basic_string_view extension_from_filename(basic_string_view filename)
expand_predefined_folders
basic_string expand_predefined_folders(basic_string_view path)
basic_string expand_predefined_folders(basic_string_view path)
print_available_extensions
void print_available_extensions(basic_string_view type)
void print_available_extensions(basic_string_view type)
load_raster_image
RasterImage<dimension> load_raster_image(basic_string_view filename)
RasterImage<dimension> load_raster_image(basic_string_view filename)
API function for loading an RasterImage. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_raster_image_missing_files
typename RasterImageInput<dimension>::MissingFiles check_raster_image_missing_files(basic_string_view filename)
typename RasterImageInput<dimension>::MissingFiles check_raster_image_missing_files(basic_string_view filename)
is_raster_image_loadable
bool is_raster_image_loadable(basic_string_view filename)
bool is_raster_image_loadable(basic_string_view filename)
save_raster_image
vector save_raster_image(const RasterImage<dimension> & raster, basic_string_view filename)
vector save_raster_image(const RasterImage<dimension> & raster, basic_string_view filename)
API function for saving a RasterImage. The adequate saver is called depending on the given filename extension.
raster [in] RasterImage to save.
filename [in] Path to the file where save the RasterImage.
is_raster_image_saveable
bool is_raster_image_saveable(const RasterImage<dimension> & raster, basic_string_view filename)
bool is_raster_image_saveable(const RasterImage<dimension> & raster, basic_string_view filename)
are_mesh_elements_included
bool are_mesh_elements_included(const MeshElementsInclusion<MeshElementType> & inclusion)
bool are_mesh_elements_included(const MeshElementsInclusion<MeshElementType> & inclusion)
are_mesh_elements_included
bool are_mesh_elements_included(const MeshElementsInclusion<MeshElementType> & inclusion, const SkipMeshElement & skip)
bool are_mesh_elements_included(const MeshElementsInclusion<MeshElementType> & inclusion, const SkipMeshElement & skip)
perpendicular
Vector perpendicular(const Vector2D & v)
Vector perpendicular(const Vector2D & v)
Return a 2D vector perpendicular to the given one
dot_perpendicular
double dot_perpendicular(const Vector2D & v0, const Vector2D & v1)
double dot_perpendicular(const Vector2D & v0, const Vector2D & v1)
Compute the dot product between a 2D vector p and another 2D vector perpendicular to p
lexicographic_mapping
vector lexicographic_mapping(absl::Span<const Point<dimension> > points)
vector lexicographic_mapping(absl::Span<const Point<dimension> > points)
morton_mapping
vector morton_mapping(absl::Span<const Point<dimension> > points)
vector morton_mapping(absl::Span<const Point<dimension> > points)
point_side_to_segment
SIDE point_side_to_segment(const Point2D & point, const Segment2D & segment)
SIDE point_side_to_segment(const Point2D & point, const Segment2D & segment)
Return the point side to a segment.
point_side_to_line
SIDE point_side_to_line(const Point2D & point, const InfiniteLine2D & line)
SIDE point_side_to_line(const Point2D & point, const InfiniteLine2D & line)
Return the point side to a line.
point_side_to_plane
SIDE point_side_to_plane(const Point3D & point, const Plane & plane)
SIDE point_side_to_plane(const Point3D & point, const Plane & plane)
Return the point side to a plane.
point_side_to_triangle
SIDE point_side_to_triangle(const Point3D & point, const Triangle3D & triangle)
SIDE point_side_to_triangle(const Point3D & point, const Triangle3D & triangle)
Return the point side to a 3D triangle.
point_segment_position
POSITION point_segment_position(const Point<dimension> & point, const Segment<dimension> & segment)
POSITION point_segment_position(const Point<dimension> & point, const Segment<dimension> & segment)
Return the position of a point on a segment: inside, outside or on segment vertex.
point_triangle_position
POSITION point_triangle_position(const Point<dimension> & point, const Triangle<dimension> & triangle)
POSITION point_triangle_position(const Point<dimension> & point, const Triangle<dimension> & triangle)
Return the position of a point in a triangle: inside, outside, on a triangle vertex or an edge.
point_tetrahedron_position
POSITION point_tetrahedron_position(const Point3D & point, const Tetrahedron & tetra)
POSITION point_tetrahedron_position(const Point3D & point, const Tetrahedron & tetra)
Return the position of a point in a tetrahedron: inside, outside, on a tetra vertex, an edge or a facet.
are_points_aligned
bool are_points_aligned(const Point<dimension> & point0, const Point<dimension> & point1, const Point<dimension> & point2)
bool are_points_aligned(const Point<dimension> & point0, const Point<dimension> & point1, const Point<dimension> & point2)
Return true if the three points are exactly aligned.
point_point_distance
double point_point_distance(const Point<dimension> & point0, const Point<dimension> & point1)
double point_point_distance(const Point<dimension> & point0, const Point<dimension> & point1)
Compute the Euclidean distance between a two points
point_segment_distance
double point_segment_distance(const Point<dimension> & point, const Segment<dimension> & segment)
double point_segment_distance(const Point<dimension> & point, const Segment<dimension> & segment)
Compute the smallest distance between a point and a segment
segment_segment_distance
std::tuple<double, Point<dimension>, Point<dimension> > segment_segment_distance(const Segment<dimension> & segment0, const Segment<dimension> & segment1)
std::tuple<double, Point<dimension>, Point<dimension> > segment_segment_distance(const Segment<dimension> & segment0, const Segment<dimension> & segment1)
Compute the smallest distance between two segments
return a tuple containing: - the smallest distance. - the closest point on the first segment. - the closest point on the second segment.
segment_line_distance
std::tuple<double, Point<dimension>, Point<dimension> > segment_line_distance(const Segment<dimension> & segment, const InfiniteLine<dimension> & line)
std::tuple<double, Point<dimension>, Point<dimension> > segment_line_distance(const Segment<dimension> & segment, const InfiniteLine<dimension> & line)
point_line_distance
double point_line_distance(const Point<dimension> & point, const InfiniteLine<dimension> & line)
double point_line_distance(const Point<dimension> & point, const InfiniteLine<dimension> & line)
Compute the smallest distance between a point and an infinite line
point_line_signed_distance
double point_line_signed_distance(const Point2D & point, const InfiniteLine2D & line)
double point_line_signed_distance(const Point2D & point, const InfiniteLine2D & line)
Compute the smallest signed distance between a point and an infinite line in 2D
point_triangle_distance
std::tuple<double, Point<dimension> > point_triangle_distance(const Point<dimension> & point, const Triangle<dimension> & triangle)
std::tuple<double, Point<dimension> > point_triangle_distance(const Point<dimension> & point, const Triangle<dimension> & triangle)
Compute the smallest distance between a point and a triangle
return a tuple containing: - the smallest distance. - the closest point on the triangle.
point_triangle_signed_distance
tuple point_triangle_signed_distance(const Point3D & point, const Triangle3D & triangle)
tuple point_triangle_signed_distance(const Point3D & point, const Triangle3D & triangle)
Compute the signed distance between a point and a triangle
return a tuple containing: - the smallest distance. - the closest point on the triangle.
details the sign is given by the triangle normal (positive if in the same plane).
line_triangle_distance
std::tuple<double, Point3D, Point3D> line_triangle_distance(const InfiniteLine3D & line, const Triangle3D & triangle)
std::tuple<double, Point3D, Point3D> line_triangle_distance(const InfiniteLine3D & line, const Triangle3D & triangle)
Compute the smallest distance between an infinite line and a triangle
return a tuple containing: - the smallest distance. - the closest point on the line. - the closest point on the triangle.
segment_triangle_distance
std::tuple<double, Point3D, Point3D> segment_triangle_distance(const Segment3D & segment, const Triangle3D & triangle)
std::tuple<double, Point3D, Point3D> segment_triangle_distance(const Segment3D & segment, const Triangle3D & triangle)
Compute the smallest distance between an segment and a triangle
return a tuple containing: - the smallest distance. - the closest point on the segment. - the closest point on the triangle.
point_tetrahedron_distance
tuple point_tetrahedron_distance(const Point3D & point, const Tetrahedron & tetra)
tuple point_tetrahedron_distance(const Point3D & point, const Tetrahedron & tetra)
Compute the distance between a point and a tetrahedron
return a tuple containing: - the smallest distance. - the nearest point on the tetrahedron.
point_plane_distance
tuple point_plane_distance(const Point3D & point, const Plane & plane)
tuple point_plane_distance(const Point3D & point, const Plane & plane)
Compute the distance between a point and a plane
return a tuple containing: - the smallest distance. - the nearest point on the plane.
point_plane_signed_distance
tuple point_plane_signed_distance(const Point3D & point, const Plane & plane)
tuple point_plane_signed_distance(const Point3D & point, const Plane & plane)
Compute the signed distance between a point and a plane
return a tuple containing: - the signed distance (sign is given by the plane normal direction). - the nearest point on the plane.
point_sphere_distance
std::tuple<double, Point<dimension> > point_sphere_distance(const Point<dimension> & point, const Sphere<dimension> & sphere)
std::tuple<double, Point<dimension> > point_sphere_distance(const Point<dimension> & point, const Sphere<dimension> & sphere)
Compute the smallest distance between a point and a sphere
return a tuple containing: - the smallest distance. - the closest point on the sphere.
point_sphere_signed_distance
std::tuple<double, Point<dimension> > point_sphere_signed_distance(const Point<dimension> & point, const Sphere<dimension> & sphere)
std::tuple<double, Point<dimension> > point_sphere_signed_distance(const Point<dimension> & point, const Sphere<dimension> & sphere)
Compute the smallest signed distance between a point and a sphere
return a tuple containing: - the smallest signed distance. - the closest point on the sphere.
details the sign is positive outside the sphere, negative inside.
point_ball_distance
std::tuple<double, Point<dimension> > point_ball_distance(const Point<dimension> & point, const Ball<dimension> & sphere)
std::tuple<double, Point<dimension> > point_ball_distance(const Point<dimension> & point, const Ball<dimension> & sphere)
Compute the smallest distance between a point and a ball
return a tuple containing: - the smallest distance. - the closest point on the ball.
details Result is always positive or null. If point is inside the ball, the returned distance is 0.
point_circle_distance
tuple point_circle_distance(const Point3D & point, const Circle & circle)
tuple point_circle_distance(const Point3D & point, const Circle & circle)
Compute the smallest distance between a point and a circle
return a tuple containing: - the smallest distance. - the closest point on the circle.
point_circle_signed_distance
tuple point_circle_signed_distance(const Point3D & point, const Circle & circle)
tuple point_circle_signed_distance(const Point3D & point, const Circle & circle)
Compute the smallest signed distance between a point and a circle
return a tuple containing: - the smallest signed distance. - the closest point on the circle.
details the sign is positive outside the circle, negative inside.
point_disk_distance
tuple point_disk_distance(const Point3D & point, const Disk & disk)
tuple point_disk_distance(const Point3D & point, const Disk & disk)
Compute the smallest distance between a point and a disk
return a tuple containing: - the smallest distance. - the closest point on the disk.
details Result is always positive or null. If point is inside the disk, the returned distance is 0.
triangle_area
double triangle_area(const Triangle<dimension> & triangle)
double triangle_area(const Triangle<dimension> & triangle)
Compute the (positive) area of a triangle
triangle [in] Triangle to compute area
triangle_signed_area
double triangle_signed_area(const Triangle2D & triangle)
double triangle_signed_area(const Triangle2D & triangle)
Compute the signed area of a triangle
triangle [in] Triangle to compute area returned area is positive if the triangle vertices are ordered counter-clockwise, negative if clockwise.
triangle_signed_area
double triangle_signed_area(const Triangle3D & triangle, const Vector3D & direction)
double triangle_signed_area(const Triangle3D & triangle, const Vector3D & direction)
Compute the signed area of a 3D triangle
triangle [in] Triangle to compute area
direction [in] Direction used to determined the sign of returned area: positive if the triangle normal is in the same direction than direction, negative if the triangle normal is in the opposition direction.
tetrahedron_signed_volume
double tetrahedron_signed_volume(const Tetrahedron & tetra)
double tetrahedron_signed_volume(const Tetrahedron & tetra)
Compute the signed volume of a tetrahedron
tetrahedron_volume
double tetrahedron_volume(const Tetrahedron & tetra)
double tetrahedron_volume(const Tetrahedron & tetra)
Compute the (positive) volume of a tetrahedron
point_segment_position_exact
POSITION point_segment_position_exact(const Point3D & point, const Segment3D & segment)
POSITION point_segment_position_exact(const Point3D & point, const Segment3D & segment)
point_segment_position_exact
POSITION point_segment_position_exact(const Point2D & point, const Segment2D & segment)
POSITION point_segment_position_exact(const Point2D & point, const Segment2D & segment)
point_triangle_position_all_zero
POSITION point_triangle_position_all_zero(const Point<dimension> & point, const Triangle<dimension> & triangle)
POSITION point_triangle_position_all_zero(const Point<dimension> & point, const Triangle<dimension> & triangle)
point_triangle_position_exact
POSITION point_triangle_position_exact(const Point2D & point, const Triangle2D & triangle)
POSITION point_triangle_position_exact(const Point2D & point, const Triangle2D & triangle)
compute_determinants
POSITION compute_determinants(const Point3D & point, const Triangle3D & triangle, const Vector3D & third_vector)
POSITION compute_determinants(const Point3D & point, const Triangle3D & triangle, const Vector3D & third_vector)
point_triangle_position_exact
POSITION point_triangle_position_exact(const Point3D & point, const Triangle3D & triangle)
POSITION point_triangle_position_exact(const Point3D & point, const Triangle3D & triangle)
point_tetrahedron_position_exact
POSITION point_tetrahedron_position_exact(const Point3D & point, const Tetrahedron & tetra)
POSITION point_tetrahedron_position_exact(const Point3D & point, const Tetrahedron & tetra)
point_triangle_position
POSITION point_triangle_position(const Point2D & point, const Triangle2D & triangle)
POSITION point_triangle_position(const Point2D & point, const Triangle2D & triangle)
point_triangle_position
POSITION point_triangle_position(const Point3D & point, const Triangle3D & triangle)
POSITION point_triangle_position(const Point3D & point, const Triangle3D & triangle)
are_points_aligned
bool are_points_aligned(const Point2D & point0, const Point2D & point1, const Point2D & point2)
bool are_points_aligned(const Point2D & point0, const Point2D & point1, const Point2D & point2)
are_points_aligned
bool are_points_aligned(const Point3D & point0, const Point3D & point1, const Point3D & point2)
bool are_points_aligned(const Point3D & point0, const Point3D & point1, const Point3D & point2)
point_segment_projection
Point<dimension> point_segment_projection(const Point<dimension> & point, const Segment<dimension> & segment)
Point<dimension> point_segment_projection(const Point<dimension> & point, const Segment<dimension> & segment)
Return the projection of a point on a segment
point [in] the point to project
segment [in] the segment
point_line_projection
Point<dimension> point_line_projection(const Point<dimension> & point, const InfiniteLine<dimension> & line)
Point<dimension> point_line_projection(const Point<dimension> & point, const InfiniteLine<dimension> & line)
Return the projection of a point on a line
point [in] the point to project
line [in] the line
point_triangle_projection
Point<dimension> point_triangle_projection(const Point<dimension> & point, const Triangle<dimension> & triangle)
Point<dimension> point_triangle_projection(const Point<dimension> & point, const Triangle<dimension> & triangle)
Return the projection of a point on a triangle
point [in] the point to project
triangle [in] the triangle
point_plane_projection
Point point_plane_projection(const Point3D & point, const Plane & plane)
Point point_plane_projection(const Point3D & point, const Plane & plane)
Return the projection of a point on a plane
point [in] the point to project
plane [in] the plane
tetrahedron_aspect_ratio
double tetrahedron_aspect_ratio(const Tetrahedron & tetra)
double tetrahedron_aspect_ratio(const Tetrahedron & tetra)
tetrahedron_volume_to_edge_ratio
double tetrahedron_volume_to_edge_ratio(const Tetrahedron & tetra)
double tetrahedron_volume_to_edge_ratio(const Tetrahedron & tetra)
radial_sort
FixedArray radial_sort(const Segment3D & segment, Span points)
FixedArray radial_sort(const Segment3D & segment, Span points)
rotate
Point rotate(const Point3D & point, const Vector3D & axis, double angle)
Point rotate(const Point3D & point, const Vector3D & axis, double angle)
Rotate a Point3D by an angle around an axis
point [in] The point to rotate.
axis [in] Axis for the rotation (not null but not necessary normalized).
angle [in] Rotation angle expresses in radians.
register_mesh_serialize_pcontext
void register_mesh_serialize_pcontext(PContext & context)
void register_mesh_serialize_pcontext(PContext & context)
Register all the information needed by Bitsery to serialize the objects in the mesh library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
register_mesh_deserialize_pcontext
void register_mesh_deserialize_pcontext(PContext & context)
void register_mesh_deserialize_pcontext(PContext & context)
Register all the information needed by Bitsery to deserialize the objects in the mesh library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
save_triangulated_surface
vector save_triangulated_surface(const TriangulatedSurface<dimension> & triangulated_surface, basic_string_view filename)
vector save_triangulated_surface(const TriangulatedSurface<dimension> & triangulated_surface, basic_string_view filename)
API function for saving a TriangulatedSurface. The adequate saver is called depending on the given filename extension.
triangulated_surface [in] TriangulatedSurface to save.
filename [in] Path to the file where save the TriangulatedSurface.
is_triangulated_surface_saveable
bool is_triangulated_surface_saveable(const TriangulatedSurface<dimension> & triangulated_surface, basic_string_view filename)
bool is_triangulated_surface_saveable(const TriangulatedSurface<dimension> & triangulated_surface, basic_string_view filename)
tetrahedron_barycentric_coordinates
array tetrahedron_barycentric_coordinates(const Point3D & point, const Tetrahedron & tetrahedron)
array tetrahedron_barycentric_coordinates(const Point3D & point, const Tetrahedron & tetrahedron)
Compute the barycentric coordinates of a point with regards to a tetrahedron.
return an array containing the parametric coordinates corresponding to the tetrahedron vertices.
exceptionif the tetrahedron is degenerated
safe_tetrahedron_barycentric_coordinates
array safe_tetrahedron_barycentric_coordinates(const Point3D & point, const Tetrahedron & tetrahedron)
array safe_tetrahedron_barycentric_coordinates(const Point3D & point, const Tetrahedron & tetrahedron)
Compute the barycentric coordinates of a point with regards to a tetrahedron. If tetrahedron is degenerated, computation fallbacks onto its largest facet.
return an array containing the parametric coordinates corresponding to the tetrahedron vertices.
triangle_barycentric_coordinates
array triangle_barycentric_coordinates(const Point<dimension> & point, const Triangle<dimension> & triangle)
array triangle_barycentric_coordinates(const Point<dimension> & point, const Triangle<dimension> & triangle)
Compute barycentric coordinates of a point with regards to a triangle.
return an array containing the parametric coordinates corresponding to the triangle vertices.
exceptionif the triangle is degenerated
safe_triangle_barycentric_coordinates
array safe_triangle_barycentric_coordinates(const Point<dimension> & point, const Triangle<dimension> & triangle)
array safe_triangle_barycentric_coordinates(const Point<dimension> & point, const Triangle<dimension> & triangle)
Compute barycentric coordinates of a point with regards to a triangle. If triangle is degenerated, computation fallbacks onto its longest segment.
return an array containing the parametric coordinates corresponding to the triangle vertices.
segment_barycentric_coordinates
array segment_barycentric_coordinates(const Point<dimension> & point, const Segment<dimension> & segment)
array segment_barycentric_coordinates(const Point<dimension> & point, const Segment<dimension> & segment)
Compute barycentric coordinates of a point with regards to a segment.
return an array containing the parametric coordinates corresponding to the segment vertices.
exceptionif the segment is degenerated
safe_segment_barycentric_coordinates
array safe_segment_barycentric_coordinates(const Point<dimension> & point, const Segment<dimension> & segment)
array safe_segment_barycentric_coordinates(const Point<dimension> & point, const Segment<dimension> & segment)
Compute barycentric coordinates of a point with regards to a segment. If segment is degenerated, computation fallbacks onto its vertices.
return an array containing the parametric coordinates corresponding to the segment vertices.
register_geode_mesh_output
void register_geode_mesh_output()
void register_geode_mesh_output()
save_edged_curve
vector save_edged_curve(const EdgedCurve<dimension> & edged_curve, basic_string_view filename)
vector save_edged_curve(const EdgedCurve<dimension> & edged_curve, basic_string_view filename)
API function for saving a EdgedCurve. The adequate saver is called depending on the given filename extension.
edged_curve [in] EdgedCurve to save.
filename [in] Path to the file where save the EdgedCurve.
is_edged_curve_saveable
bool is_edged_curve_saveable(const EdgedCurve<dimension> & edged_curve, basic_string_view filename)
bool is_edged_curve_saveable(const EdgedCurve<dimension> & edged_curve, basic_string_view filename)
save_graph
vector save_graph(const Graph & graph, basic_string_view filename)
vector save_graph(const Graph & graph, basic_string_view filename)
API function for saving a Graph. The adequate saver is called depending on the given filename extension.
graph [in] Graph to save.
filename [in] Path to the file where save the Graph.
is_graph_saveable
bool is_graph_saveable(const Graph & graph, basic_string_view filename)
bool is_graph_saveable(const Graph & graph, basic_string_view filename)
save_hybrid_solid
vector save_hybrid_solid(const HybridSolid<dimension> & hybrid_solid, basic_string_view filename)
vector save_hybrid_solid(const HybridSolid<dimension> & hybrid_solid, basic_string_view filename)
API function for saving a HybridSolid. The adequate saver is called depending on the given filename extension.
hybrid_solid [in] HybridSolid to save.
filename [in] Path to the file where save the HybridSolid.
is_hybrid_solid_saveable
bool is_hybrid_solid_saveable(const HybridSolid<dimension> & hybrid_solid, basic_string_view filename)
bool is_hybrid_solid_saveable(const HybridSolid<dimension> & hybrid_solid, basic_string_view filename)
save_point_set
vector save_point_set(const PointSet<dimension> & point_set, basic_string_view filename)
vector save_point_set(const PointSet<dimension> & point_set, basic_string_view filename)
API function for saving a PointSet. The adequate saver is called depending on the given filename extension.
point_set [in] PointSet to save.
filename [in] Path to the file where save the PointSet.
is_point_set_saveable
bool is_point_set_saveable(const PointSet<dimension> & point_set, basic_string_view filename)
bool is_point_set_saveable(const PointSet<dimension> & point_set, basic_string_view filename)
save_polygonal_surface
vector save_polygonal_surface(const PolygonalSurface<dimension> & polygonal_surface, basic_string_view filename)
vector save_polygonal_surface(const PolygonalSurface<dimension> & polygonal_surface, basic_string_view filename)
API function for saving a PolygonalSurface. The adequate saver is called depending on the given filename extension. const PolygonalSurface< dimension >& polygonal_surface,
edged_curve [in] PolygonalSurface to save.
filename [in] Path to the file where save the PolygonalSurface.
is_polygonal_surface_saveable
bool is_polygonal_surface_saveable(const PolygonalSurface<dimension> & polygonal_surface, basic_string_view filename)
bool is_polygonal_surface_saveable(const PolygonalSurface<dimension> & polygonal_surface, basic_string_view filename)
save_polyhedral_solid
vector save_polyhedral_solid(const PolyhedralSolid<dimension> & polyhedral_solid, basic_string_view filename)
vector save_polyhedral_solid(const PolyhedralSolid<dimension> & polyhedral_solid, basic_string_view filename)
API function for saving a PolyhedralSolid. The adequate saver is called depending on the given filename extension.
polyhedral_solid [in] PolyhedralSolid to save.
filename [in] Path to the file where save the PolyhedralSolid.
is_polyhedral_solid_saveable
bool is_polyhedral_solid_saveable(const PolyhedralSolid<dimension> & polyhedral_solid, basic_string_view filename)
bool is_polyhedral_solid_saveable(const PolyhedralSolid<dimension> & polyhedral_solid, basic_string_view filename)
save_regular_grid
vector save_regular_grid(const RegularGrid<dimension> & regular_grid, basic_string_view filename)
vector save_regular_grid(const RegularGrid<dimension> & regular_grid, basic_string_view filename)
API function for saving a RegularGrid. The adequate saver is called depending on the given filename extension.
regular_grid [in] RegularGrid to save.
filename [in] Path to the file where save the RegularGrid.
is_regular_grid_saveable
bool is_regular_grid_saveable(const RegularGrid<dimension> & regular_grid, basic_string_view filename)
bool is_regular_grid_saveable(const RegularGrid<dimension> & regular_grid, basic_string_view filename)
save_tetrahedral_solid
vector save_tetrahedral_solid(const TetrahedralSolid<dimension> & tetrahedral_solid, basic_string_view filename)
vector save_tetrahedral_solid(const TetrahedralSolid<dimension> & tetrahedral_solid, basic_string_view filename)
API function for saving a TetrahedralSolid. The adequate saver is called depending on the given filename extension.
tetrahedral_solid [in] TetrahedralSolid to save.
filename [in] Path to the file where save the TetrahedralSolid.
is_tetrahedral_solid_saveable
bool is_tetrahedral_solid_saveable(const TetrahedralSolid<dimension> & tetrahedral_solid, basic_string_view filename)
bool is_tetrahedral_solid_saveable(const TetrahedralSolid<dimension> & tetrahedral_solid, basic_string_view filename)
save_vertex_set
vector save_vertex_set(const VertexSet & vertex_set, basic_string_view filename)
vector save_vertex_set(const VertexSet & vertex_set, basic_string_view filename)
API function for saving a VertexSet. The adequate saver is called depending on the given filename extension.
vertex_set [in] VertexSet to save.
filename [in] Path to the file where save the VertexSet.
is_vertex_set_saveable
bool is_vertex_set_saveable(const VertexSet & vertex_set, basic_string_view filename)
bool is_vertex_set_saveable(const VertexSet & vertex_set, basic_string_view filename)
save_light_regular_grid
vector save_light_regular_grid(const LightRegularGrid<dimension> & light_regular_grid, basic_string_view filename)
vector save_light_regular_grid(const LightRegularGrid<dimension> & light_regular_grid, basic_string_view filename)
API function for saving a LightRegularGrid. The adequate saver is called depending on the given filename extension.
light_regular_grid [in] LightRegularGrid to save.
filename [in] Path to the file where save the LightRegularGrid.
is_light_regular_grid_saveable
bool is_light_regular_grid_saveable(const LightRegularGrid<dimension> & light_regular_grid, basic_string_view filename)
bool is_light_regular_grid_saveable(const LightRegularGrid<dimension> & light_regular_grid, basic_string_view filename)
load_regular_grid
std::unique_ptr<RegularGrid<dimension> > load_regular_grid(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<RegularGrid<dimension> > load_regular_grid(const MeshImpl & impl, basic_string_view filename)
API function for loading an RegularGrid. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_regular_grid
std::unique_ptr<RegularGrid<dimension> > load_regular_grid(basic_string_view filename)
std::unique_ptr<RegularGrid<dimension> > load_regular_grid(basic_string_view filename)
API function for loading a RegularGrid. The adequate loader is called depending on the filename extension.
filename [in] Path to the file to load.
check_regular_grid_missing_files
typename RegularGridInput<dimension>::MissingFiles check_regular_grid_missing_files(basic_string_view filename)
typename RegularGridInput<dimension>::MissingFiles check_regular_grid_missing_files(basic_string_view filename)
is_regular_grid_loadable
bool is_regular_grid_loadable(basic_string_view filename)
bool is_regular_grid_loadable(basic_string_view filename)
load_vertex_set
unique_ptr load_vertex_set(const MeshImpl & impl, basic_string_view filename)
unique_ptr load_vertex_set(const MeshImpl & impl, basic_string_view filename)
API function for loading an VertexSet. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_vertex_set
unique_ptr load_vertex_set(basic_string_view filename)
unique_ptr load_vertex_set(basic_string_view filename)
API function for loading an VertexSet. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_vertex_set_missing_files
MissingFiles check_vertex_set_missing_files(basic_string_view filename)
MissingFiles check_vertex_set_missing_files(basic_string_view filename)
is_vertex_set_loadable
bool is_vertex_set_loadable(basic_string_view filename)
bool is_vertex_set_loadable(basic_string_view filename)
load_tetrahedral_solid
std::unique_ptr<TetrahedralSolid<dimension> > load_tetrahedral_solid(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<TetrahedralSolid<dimension> > load_tetrahedral_solid(const MeshImpl & impl, basic_string_view filename)
API function for loading an TetrahedralSolid. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_tetrahedral_solid
std::unique_ptr<TetrahedralSolid<dimension> > load_tetrahedral_solid(basic_string_view filename)
std::unique_ptr<TetrahedralSolid<dimension> > load_tetrahedral_solid(basic_string_view filename)
API function for loading an TetrahedralSolid. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_tetrahedral_solid_missing_files
typename TetrahedralSolidInput<dimension>::MissingFiles check_tetrahedral_solid_missing_files(basic_string_view filename)
typename TetrahedralSolidInput<dimension>::MissingFiles check_tetrahedral_solid_missing_files(basic_string_view filename)
is_tetrahedral_solid_loadable
bool is_tetrahedral_solid_loadable(basic_string_view filename)
bool is_tetrahedral_solid_loadable(basic_string_view filename)
load_triangulated_surface
std::unique_ptr<TriangulatedSurface<dimension> > load_triangulated_surface(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<TriangulatedSurface<dimension> > load_triangulated_surface(const MeshImpl & impl, basic_string_view filename)
API function for loading an TriangulatedSurface. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_triangulated_surface
std::unique_ptr<TriangulatedSurface<dimension> > load_triangulated_surface(basic_string_view filename)
std::unique_ptr<TriangulatedSurface<dimension> > load_triangulated_surface(basic_string_view filename)
API function for loading an TriangulatedSurface. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_triangulated_surface_missing_files
typename TriangulatedSurfaceInput<dimension>::MissingFiles check_triangulated_surface_missing_files(basic_string_view filename)
typename TriangulatedSurfaceInput<dimension>::MissingFiles check_triangulated_surface_missing_files(basic_string_view filename)
is_triangulated_surface_loadable
bool is_triangulated_surface_loadable(basic_string_view filename)
bool is_triangulated_surface_loadable(basic_string_view filename)
segment_segment_intersection_detection
pair segment_segment_intersection_detection(const Segment2D & segment0, const Segment2D & segment1)
pair segment_segment_intersection_detection(const Segment2D & segment0, const Segment2D & segment1)
Detect if there is an intersection between two 2D segments
return the position of the intersection on the two segments. Returns outside-outside if there is no intersection or parallel-pallel if all points are colinear
colinear_segment_segment_intersection_detection
pair colinear_segment_segment_intersection_detection(const Segment2D & segment0, const Segment2D & segment1)
pair colinear_segment_segment_intersection_detection(const Segment2D & segment0, const Segment2D & segment1)
Detect the configuration between two 2D colinear segments
return the position of the intersection on the two segments. Returns parallel-pallel if there is segment overlap
segment_line_intersection_detection
POSITION segment_line_intersection_detection(const Segment2D & segment, const InfiniteLine2D & line)
POSITION segment_line_intersection_detection(const Segment2D & segment, const InfiniteLine2D & line)
Detect if there is an intersection between a line and a segment
return the position of the intersection on the segment. Returns outside if there is no intersection or all points are colinear
line_triangle_intersection_detection
POSITION line_triangle_intersection_detection(const InfiniteLine3D & line, const Triangle3D & triangle)
POSITION line_triangle_intersection_detection(const InfiniteLine3D & line, const Triangle3D & triangle)
Detect if there is an intersection between a line and a triangle
return the position of the intersection on the triangle. Returns outside if there is no intersection or the line is coplanar with the triangle
segment_triangle_intersection_detection
pair segment_triangle_intersection_detection(const Segment3D & segment, const Triangle3D & triangle)
pair segment_triangle_intersection_detection(const Segment3D & segment, const Triangle3D & triangle)
Detect if there is an intersection between a segment and a triangle
return the position of the intersection on the segment and on the triangle. Returns outside if there is no intersection or the segment is coplanar with the triangle
segment_plane_intersection_detection
POSITION segment_plane_intersection_detection(const Segment3D & segment, const Plane & plane)
POSITION segment_plane_intersection_detection(const Segment3D & segment, const Plane & plane)
Detect if there is an intersection between a segment and a plane
return the position of the intersection on the segment. Returns outside if there is no intersection or the segment is coplanar with the plane
repair_polygon_orientations
void repair_polygon_orientations(SurfaceMesh<dimension> & mesh)
void repair_polygon_orientations(SurfaceMesh<dimension> & mesh)
repair_polygon_orientations
void repair_polygon_orientations(const SurfaceMesh<dimension> & mesh, SurfaceMeshBuilder<dimension> & builder)
void repair_polygon_orientations(const SurfaceMesh<dimension> & mesh, SurfaceMeshBuilder<dimension> & builder)
register_model_serialize_pcontext
void register_model_serialize_pcontext(PContext & context)
void register_model_serialize_pcontext(PContext & context)
Register all the information needed by Bitsery to serialize the objects in the model library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
register_model_deserialize_pcontext
void register_model_deserialize_pcontext(PContext & context)
void register_model_deserialize_pcontext(PContext & context)
Register all the information needed by Bitsery to deserialize the objects in the model library.
context [in] The context where to register this information.
warning The context can be used only once per archive.
load_brep
BRep load_brep(basic_string_view filename)
BRep load_brep(basic_string_view filename)
API function for loading a BoundaryRepresentation. The adequate loader is called depending on the filename extension.
filename [in] Path to the file to load.
return Loaded BRep.
check_brep_missing_files
MissingFiles check_brep_missing_files(basic_string_view filename)
MissingFiles check_brep_missing_files(basic_string_view filename)
is_brep_loadable
bool is_brep_loadable(basic_string_view filename)
bool is_brep_loadable(basic_string_view filename)
save_brep
vector save_brep(const BRep & brep, basic_string_view filename)
vector save_brep(const BRep & brep, basic_string_view filename)
API function for saving a BoundaryRepresentation. The adequate saver is called depending on the given filename extension.
brep [in] BRep to save.
filename [in] Path to the file where save the brep.
is_brep_saveable
bool is_brep_saveable(const BRep & brep, basic_string_view filename)
bool is_brep_saveable(const BRep & brep, basic_string_view filename)
load_section
Section load_section(basic_string_view filename)
Section load_section(basic_string_view filename)
API function for loading a Section. The adequate loader is called depending on the filename extension.
filename [in] Path to the file to load.
return Loaded Section.
check_section_missing_files
MissingFiles check_section_missing_files(basic_string_view filename)
MissingFiles check_section_missing_files(basic_string_view filename)
is_section_loadable
bool is_section_loadable(basic_string_view filename)
bool is_section_loadable(basic_string_view filename)
save_section
vector save_section(const Section & section, basic_string_view filename)
vector save_section(const Section & section, basic_string_view filename)
API function for saving a Section. The adequate saver is called depending on the given filename extension.
section [in] Section to save.
filename [in] Path to the file where save the section.
is_section_saveable
bool is_section_saveable(const Section & section, basic_string_view filename)
bool is_section_saveable(const Section & section, basic_string_view filename)
create_lines_aabb_tree
tuple create_lines_aabb_tree(const BRep & model)
tuple create_lines_aabb_tree(const BRep & model)
create_surfaces_aabb_tree
tuple create_surfaces_aabb_tree(const BRep & model)
tuple create_surfaces_aabb_tree(const BRep & model)
create_blocks_aabb_tree
tuple create_blocks_aabb_tree(const BRep & model)
tuple create_blocks_aabb_tree(const BRep & model)
create_lines_aabb_tree
tuple create_lines_aabb_tree(const Section & model)
tuple create_lines_aabb_tree(const Section & model)
create_surfaces_aabb_tree
tuple create_surfaces_aabb_tree(const Section & model)
tuple create_surfaces_aabb_tree(const Section & model)
create_line_meshes_aabb_trees
ModelMeshesAABBTree create_line_meshes_aabb_trees(const BRep & model)
ModelMeshesAABBTree create_line_meshes_aabb_trees(const BRep & model)
create_surface_meshes_aabb_trees
ModelMeshesAABBTree create_surface_meshes_aabb_trees(const BRep & model)
ModelMeshesAABBTree create_surface_meshes_aabb_trees(const BRep & model)
create_block_meshes_aabb_trees
ModelMeshesAABBTree create_block_meshes_aabb_trees(const BRep & model)
ModelMeshesAABBTree create_block_meshes_aabb_trees(const BRep & model)
create_line_meshes_aabb_trees
ModelMeshesAABBTree create_line_meshes_aabb_trees(const Section & model)
ModelMeshesAABBTree create_line_meshes_aabb_trees(const Section & model)
create_surface_meshes_aabb_trees
ModelMeshesAABBTree create_surface_meshes_aabb_trees(const Section & model)
ModelMeshesAABBTree create_surface_meshes_aabb_trees(const Section & model)
create_aabb_tree
AABBTree<dimension> create_aabb_tree(const EdgedCurve<dimension> & mesh)
AABBTree<dimension> create_aabb_tree(const EdgedCurve<dimension> & mesh)
create_aabb_tree
AABBTree<dimension> create_aabb_tree(const SolidMesh<dimension> & mesh)
AABBTree<dimension> create_aabb_tree(const SolidMesh<dimension> & mesh)
create_aabb_tree
AABBTree<dimension> create_aabb_tree(const SurfaceMesh<dimension> & mesh)
AABBTree<dimension> create_aabb_tree(const SurfaceMesh<dimension> & mesh)
edge_unique_vertices
array edge_unique_vertices(const Section & section, const Line2D & line, index_t edge)
array edge_unique_vertices(const Section & section, const Line2D & line, index_t edge)
edge_unique_vertices
array edge_unique_vertices(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
array edge_unique_vertices(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
edge_unique_vertices
array edge_unique_vertices(const BRep & brep, const Line3D & line, index_t edge)
array edge_unique_vertices(const BRep & brep, const Line3D & line, index_t edge)
edge_unique_vertices
array edge_unique_vertices(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
array edge_unique_vertices(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
edge_unique_vertices
array edge_unique_vertices(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge)
array edge_unique_vertices(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge)
component_mesh_edges
SectionComponentMeshEdges component_mesh_edges(const Section & section, const std::array<index_t, 2> & edge_unique_vertices)
SectionComponentMeshEdges component_mesh_edges(const Section & section, const std::array<index_t, 2> & edge_unique_vertices)
component_mesh_edges
SectionComponentMeshEdges component_mesh_edges(const Section & section, const Line2D & line, index_t edge)
SectionComponentMeshEdges component_mesh_edges(const Section & section, const Line2D & line, index_t edge)
component_mesh_edges
SectionComponentMeshEdges component_mesh_edges(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
SectionComponentMeshEdges component_mesh_edges(const Section & section, const Surface2D & surface, const PolygonEdge & edge)
component_mesh_edges
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const std::array<index_t, 2> & edge_unique_vertices)
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const std::array<index_t, 2> & edge_unique_vertices)
component_mesh_edges
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const Line3D & line, index_t edge)
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const Line3D & line, index_t edge)
component_mesh_edges
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const Surface3D & surface, const PolygonEdge & edge)
component_mesh_edges
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge)
BRepComponentMeshEdges component_mesh_edges(const BRep & brep, const Block3D & block, const PolyhedronFacetEdge & edge)
component_mesh_vertex_generic
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_generic(Span unique_vertices)
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_generic(Span unique_vertices)
component_mesh_vertex_generic
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_generic(Span unique_vertices, const ComponentType & type)
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_generic(Span unique_vertices, const ComponentType & type)
component_mesh_vertex_pairs
flat_hash_map component_mesh_vertex_pairs(Span unique_vertices0, Span unique_vertices1)
flat_hash_map component_mesh_vertex_pairs(Span unique_vertices0, Span unique_vertices1)
component_mesh_vertex_pairs
flat_hash_map component_mesh_vertex_pairs(Span unique_vertices0, Span unique_vertices1, const ComponentType & type)
flat_hash_map component_mesh_vertex_pairs(Span unique_vertices0, Span unique_vertices1, const ComponentType & type)
component_mesh_vertex_triplets
flat_hash_map component_mesh_vertex_triplets(Span unique_vertices0, Span unique_vertices1, Span unique_vertices2)
flat_hash_map component_mesh_vertex_triplets(Span unique_vertices0, Span unique_vertices1, Span unique_vertices2)
component_mesh_vertex_triplets
flat_hash_map component_mesh_vertex_triplets(Span unique_vertices0, Span unique_vertices1, Span unique_vertices2, const ComponentType & type)
flat_hash_map component_mesh_vertex_triplets(Span unique_vertices0, Span unique_vertices1, Span unique_vertices2, const ComponentType & type)
component_mesh_vertex_tuple
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_tuple(UniqueVertices... unique_vertices)
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_tuple(UniqueVertices... unique_vertices)
component_mesh_vertex_tuple
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_tuple(UniqueVertices... unique_vertices, const ComponentType & type)
ComponentMeshVertexGeneric<dimension> component_mesh_vertex_tuple(UniqueVertices... unique_vertices, const ComponentType & type)
polygon_unique_vertices
InlinedVector polygon_unique_vertices(const Section & model, const Surface2D & surface, index_t polygon_id)
InlinedVector polygon_unique_vertices(const Section & model, const Surface2D & surface, index_t polygon_id)
polygon_unique_vertices
InlinedVector polygon_unique_vertices(const BRep & model, const Surface3D & surface, index_t polygon_id)
InlinedVector polygon_unique_vertices(const BRep & model, const Surface3D & surface, index_t polygon_id)
polygon_unique_vertices
InlinedVector polygon_unique_vertices(const BRep & model, const Block3D & block, const PolyhedronFacet & facet)
InlinedVector polygon_unique_vertices(const BRep & model, const Block3D & block, const PolyhedronFacet & facet)
component_mesh_polygons
SectionComponentMeshPolygons component_mesh_polygons(const Section & section, const PolygonVertices & polygon_unique_vertices)
SectionComponentMeshPolygons component_mesh_polygons(const Section & section, const PolygonVertices & polygon_unique_vertices)
component_mesh_polygons
SectionComponentMeshPolygons component_mesh_polygons(const Section & section, const Surface2D & surface, index_t polygon_id)
SectionComponentMeshPolygons component_mesh_polygons(const Section & section, const Surface2D & surface, index_t polygon_id)
component_mesh_polygons
BRepComponentMeshPolygons component_mesh_polygons(const BRep & brep, const PolygonVertices & polygon_unique_vertices)
BRepComponentMeshPolygons component_mesh_polygons(const BRep & brep, const PolygonVertices & polygon_unique_vertices)
component_mesh_polygons
BRepComponentMeshPolygons component_mesh_polygons(const BRep & brep, const Surface3D & surface, index_t polygon_id)
BRepComponentMeshPolygons component_mesh_polygons(const BRep & brep, const Surface3D & surface, index_t polygon_id)
component_mesh_polygons
BRepComponentMeshPolygons component_mesh_polygons(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet)
BRepComponentMeshPolygons component_mesh_polygons(const BRep & brep, const Block3D & block, const PolyhedronFacet & facet)
block_mesh_polyhedra_from_surface_polygon
InlinedVector block_mesh_polyhedra_from_surface_polygon(const BRep & model, const Block3D & block, const Surface3D & surface, index_t polygon_id)
InlinedVector block_mesh_polyhedra_from_surface_polygon(const BRep & model, const Block3D & block, const Surface3D & surface, index_t polygon_id)
block_vertices_from_surface_polygon
InlinedVector block_vertices_from_surface_polygon(const BRep & model, const Block3D & block, const Surface3D & surface, index_t polygon_id)
InlinedVector block_vertices_from_surface_polygon(const BRep & model, const Block3D & block, const Surface3D & surface, index_t polygon_id)
oriented_block_vertices_from_surface_polygon
BlockPolyhedraFacetVertices oriented_block_vertices_from_surface_polygon(const BRep & model, const Block3D & block, const Surface3D & surface, index_t polygon_id)
BlockPolyhedraFacetVertices oriented_block_vertices_from_surface_polygon(const BRep & model, const Block3D & block, const Surface3D & surface, index_t polygon_id)
surface_vertices_from_line_edge
InlinedVector surface_vertices_from_line_edge(const BRep & model, const Surface3D & surface, const Line3D & line, index_t edge_id)
InlinedVector surface_vertices_from_line_edge(const BRep & model, const Surface3D & surface, const Line3D & line, index_t edge_id)
oriented_surface_vertices_from_line_edge
SurfacePolygonsEdgeVertices oriented_surface_vertices_from_line_edge(const BRep & model, const Surface3D & surface, const Line3D & line, index_t edge_id)
SurfacePolygonsEdgeVertices oriented_surface_vertices_from_line_edge(const BRep & model, const Surface3D & surface, const Line3D & line, index_t edge_id)
surface_vertices_from_line_edge
InlinedVector surface_vertices_from_line_edge(const Section & model, const Surface2D & surface, const Line2D & line, index_t edge_id)
InlinedVector surface_vertices_from_line_edge(const Section & model, const Surface2D & surface, const Line2D & line, index_t edge_id)
oriented_surface_vertices_from_line_edge
SurfacePolygonsEdgeVertices oriented_surface_vertices_from_line_edge(const Section & model, const Surface2D & surface, const Line2D & line, index_t edge_id)
SurfacePolygonsEdgeVertices oriented_surface_vertices_from_line_edge(const Section & model, const Surface2D & surface, const Line2D & line, index_t edge_id)
polyhedron_unique_vertices
InlinedVector polyhedron_unique_vertices(const BRep & model, const Block3D & block, index_t polyhedron_id)
InlinedVector polyhedron_unique_vertices(const BRep & model, const Block3D & block, index_t polyhedron_id)
component_mesh_polyhedra
vector component_mesh_polyhedra(const BRep & brep, const PolyhedronVertices & polyhedron_unique_vertices)
vector component_mesh_polyhedra(const BRep & brep, const PolyhedronVertices & polyhedron_unique_vertices)
block_volume
double block_volume(const BRep & brep, const Block3D & block)
double block_volume(const BRep & brep, const Block3D & block)
block_bounding_box
BoundingBox block_bounding_box(const BRep & brep, const Block3D & block)
BoundingBox block_bounding_box(const BRep & brep, const Block3D & block)
surface_area
double surface_area(const Surface<dimension> & surface)
double surface_area(const Surface<dimension> & surface)
convert_brep_into_section
tuple convert_brep_into_section(const BRep & brep, index_t axis_to_remove)
tuple convert_brep_into_section(const BRep & brep, index_t axis_to_remove)
convert_section_into_brep
tuple convert_section_into_brep(const Section & section, index_t axis_to_add, double axis_coordinate)
tuple convert_section_into_brep(const Section & section, index_t axis_to_add, double axis_coordinate)
extrude_section_to_brep
BRep extrude_section_to_brep(const Section & section, const SectionExtruderOptions & options)
BRep extrude_section_to_brep(const Section & section, const SectionExtruderOptions & options)
convert_edged_curve3d_into_2d
unique_ptr convert_edged_curve3d_into_2d(const EdgedCurve3D & curve3d, index_t axis_to_remove)
unique_ptr convert_edged_curve3d_into_2d(const EdgedCurve3D & curve3d, index_t axis_to_remove)
convert_edged_curve2d_into_3d
unique_ptr convert_edged_curve2d_into_3d(const EdgedCurve2D & curve2d, index_t axis_to_add, double axis_coordinate)
unique_ptr convert_edged_curve2d_into_3d(const EdgedCurve2D & curve2d, index_t axis_to_add, double axis_coordinate)
merge_edged_curves
std::unique_ptr<EdgedCurve<dimension> > merge_edged_curves(absl::Span<const std::reference_wrapper<const EdgedCurve<dimension> > > curves)
std::unique_ptr<EdgedCurve<dimension> > merge_edged_curves(absl::Span<const std::reference_wrapper<const EdgedCurve<dimension> > > curves)
convert_point_set3d_into_2d
unique_ptr convert_point_set3d_into_2d(const PointSet3D & point_set3d, index_t axis_to_remove)
unique_ptr convert_point_set3d_into_2d(const PointSet3D & point_set3d, index_t axis_to_remove)
convert_point_set2d_into_3d
unique_ptr convert_point_set2d_into_3d(const PointSet2D & point_set2d, index_t axis_to_add, double axis_coordinate)
unique_ptr convert_point_set2d_into_3d(const PointSet2D & point_set2d, index_t axis_to_add, double axis_coordinate)
convert_surface_mesh_into_polygonal_surface
std::unique_ptr<PolygonalSurface<dimension> > convert_surface_mesh_into_polygonal_surface(const SurfaceMesh<dimension> & surface)
std::unique_ptr<PolygonalSurface<dimension> > convert_surface_mesh_into_polygonal_surface(const SurfaceMesh<dimension> & surface)
convert_surface_mesh_into_triangulated_surface
std::optional<std::unique_ptr<TriangulatedSurface<dimension> > > convert_surface_mesh_into_triangulated_surface(const SurfaceMesh<dimension> & surface)
std::optional<std::unique_ptr<TriangulatedSurface<dimension> > > convert_surface_mesh_into_triangulated_surface(const SurfaceMesh<dimension> & surface)
convert_grid_into_triangulated_surface
std::unique_ptr<TriangulatedSurface2D> convert_grid_into_triangulated_surface(const Grid2D & grid)
std::unique_ptr<TriangulatedSurface2D> convert_grid_into_triangulated_surface(const Grid2D & grid)
convert_grid_into_densified_triangulated_surface
std::unique_ptr<TriangulatedSurface2D> convert_grid_into_densified_triangulated_surface(const Grid2D & grid, Span cells_to_densify)
std::unique_ptr<TriangulatedSurface2D> convert_grid_into_densified_triangulated_surface(const Grid2D & grid, Span cells_to_densify)
triangulate_surface_mesh
void triangulate_surface_mesh(SurfaceMesh<dimension> & surface)
void triangulate_surface_mesh(SurfaceMesh<dimension> & surface)
triangulate_surface_mesh
void triangulate_surface_mesh(const SurfaceMesh<dimension> & surface, SurfaceMeshBuilder<dimension> & builder)
void triangulate_surface_mesh(const SurfaceMesh<dimension> & surface, SurfaceMeshBuilder<dimension> & builder)
convert_surface_mesh2d_into_3d
unique_ptr convert_surface_mesh2d_into_3d(const SurfaceMesh2D & surface2d, index_t axis_to_add, double axis_coordinate)
unique_ptr convert_surface_mesh2d_into_3d(const SurfaceMesh2D & surface2d, index_t axis_to_add, double axis_coordinate)
convert_surface_mesh3d_into_2d
unique_ptr convert_surface_mesh3d_into_2d(const SurfaceMesh3D & surface3d, index_t axis_to_remove)
unique_ptr convert_surface_mesh3d_into_2d(const SurfaceMesh3D & surface3d, index_t axis_to_remove)
convert_polygonal_surface2d_into_3d
std::unique_ptr<PolygonalSurface3D> convert_polygonal_surface2d_into_3d(const PolygonalSurface2D & surface2d, index_t axis_to_add, double axis_coordinate)
std::unique_ptr<PolygonalSurface3D> convert_polygonal_surface2d_into_3d(const PolygonalSurface2D & surface2d, index_t axis_to_add, double axis_coordinate)
convert_polygonal_surface3d_into_2d
std::unique_ptr<PolygonalSurface2D> convert_polygonal_surface3d_into_2d(const PolygonalSurface3D & surface3d, index_t axis_to_remove)
std::unique_ptr<PolygonalSurface2D> convert_polygonal_surface3d_into_2d(const PolygonalSurface3D & surface3d, index_t axis_to_remove)
convert_triangulated_surface2d_into_3d
std::unique_ptr<TriangulatedSurface3D> convert_triangulated_surface2d_into_3d(const TriangulatedSurface2D & surface2d, index_t axis_to_add, double axis_coordinate)
std::unique_ptr<TriangulatedSurface3D> convert_triangulated_surface2d_into_3d(const TriangulatedSurface2D & surface2d, index_t axis_to_add, double axis_coordinate)
convert_triangulated_surface3d_into_2d
std::unique_ptr<TriangulatedSurface2D> convert_triangulated_surface3d_into_2d(const TriangulatedSurface3D & surface3d, index_t axis_to_remove)
std::unique_ptr<TriangulatedSurface2D> convert_triangulated_surface3d_into_2d(const TriangulatedSurface3D & surface3d, index_t axis_to_remove)
merge_surface_meshes
std::unique_ptr<SurfaceMesh<dimension> > merge_surface_meshes(absl::Span<const std::reference_wrapper<const SurfaceMesh<dimension> > > surfaces)
std::unique_ptr<SurfaceMesh<dimension> > merge_surface_meshes(absl::Span<const std::reference_wrapper<const SurfaceMesh<dimension> > > surfaces)
load_edged_curve
std::unique_ptr<EdgedCurve<dimension> > load_edged_curve(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<EdgedCurve<dimension> > load_edged_curve(const MeshImpl & impl, basic_string_view filename)
API function for loading an EdgedCurve. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_edged_curve
std::unique_ptr<EdgedCurve<dimension> > load_edged_curve(basic_string_view filename)
std::unique_ptr<EdgedCurve<dimension> > load_edged_curve(basic_string_view filename)
API function for loading an EdgedCurve. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_edged_curve_missing_files
typename EdgedCurveInput<dimension>::MissingFiles check_edged_curve_missing_files(basic_string_view filename)
typename EdgedCurveInput<dimension>::MissingFiles check_edged_curve_missing_files(basic_string_view filename)
is_edged_curve_loadable
bool is_edged_curve_loadable(basic_string_view filename)
bool is_edged_curve_loadable(basic_string_view filename)
load_graph
unique_ptr load_graph(const MeshImpl & impl, basic_string_view filename)
unique_ptr load_graph(const MeshImpl & impl, basic_string_view filename)
API function for loading an Graph. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_graph
unique_ptr load_graph(basic_string_view filename)
unique_ptr load_graph(basic_string_view filename)
API function for loading an Graph. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_graph_missing_files
MissingFiles check_graph_missing_files(basic_string_view filename)
MissingFiles check_graph_missing_files(basic_string_view filename)
is_graph_loadable
bool is_graph_loadable(basic_string_view filename)
bool is_graph_loadable(basic_string_view filename)
load_hybrid_solid
std::unique_ptr<HybridSolid<dimension> > load_hybrid_solid(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<HybridSolid<dimension> > load_hybrid_solid(const MeshImpl & impl, basic_string_view filename)
API function for loading an HybridSolid. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_hybrid_solid
std::unique_ptr<HybridSolid<dimension> > load_hybrid_solid(basic_string_view filename)
std::unique_ptr<HybridSolid<dimension> > load_hybrid_solid(basic_string_view filename)
API function for loading an HybridSolid. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_hybrid_solid_missing_files
typename HybridSolidInput<dimension>::MissingFiles check_hybrid_solid_missing_files(basic_string_view filename)
typename HybridSolidInput<dimension>::MissingFiles check_hybrid_solid_missing_files(basic_string_view filename)
is_hybrid_solid_loadable
bool is_hybrid_solid_loadable(basic_string_view filename)
bool is_hybrid_solid_loadable(basic_string_view filename)
load_light_regular_grid
LightRegularGrid<dimension> load_light_regular_grid(basic_string_view filename)
LightRegularGrid<dimension> load_light_regular_grid(basic_string_view filename)
API function for loading an LightRegularGrid. The adequate loader is called depending on the filename extension.
filename [in] Path to the file to load.
check_light_regular_grid_missing_files
typename LightRegularGridInput<dimension>::MissingFiles check_light_regular_grid_missing_files(basic_string_view filename)
typename LightRegularGridInput<dimension>::MissingFiles check_light_regular_grid_missing_files(basic_string_view filename)
is_light_regular_grid_loadable
bool is_light_regular_grid_loadable(basic_string_view filename)
bool is_light_regular_grid_loadable(basic_string_view filename)
register_geode_mesh
void register_geode_mesh()
void register_geode_mesh()
file_exists
bool file_exists(basic_string_view file_path)
bool file_exists(basic_string_view file_path)
check_keyword
void check_keyword(std::ifstream & file, basic_string_view keyword)
void check_keyword(std::ifstream & file, basic_string_view keyword)
line_starts_with
bool line_starts_with(std::ifstream & file, basic_string_view check)
bool line_starts_with(std::ifstream & file, basic_string_view check)
goto_keyword
basic_string goto_keyword(std::ifstream & file, basic_string_view word)
basic_string goto_keyword(std::ifstream & file, basic_string_view word)
goto_keywords
basic_string goto_keywords(std::ifstream & file, Span words)
basic_string goto_keywords(std::ifstream & file, Span words)
goto_keyword_if_it_exists
optional goto_keyword_if_it_exists(std::ifstream & file, basic_string_view word)
optional goto_keyword_if_it_exists(std::ifstream & file, basic_string_view word)
next_keyword_if_it_exists
optional next_keyword_if_it_exists(std::ifstream & file, basic_string_view word)
optional next_keyword_if_it_exists(std::ifstream & file, basic_string_view word)
string_split
std::vector<std::string_view> string_split(basic_string_view string)
std::vector<std::string_view> string_split(basic_string_view string)
string_starts_with
bool string_starts_with(basic_string_view string, basic_string_view check)
bool string_starts_with(basic_string_view string, basic_string_view check)
string_to_index
index_t string_to_index(basic_string_view string)
index_t string_to_index(basic_string_view string)
string_to_int
int string_to_int(basic_string_view string)
int string_to_int(basic_string_view string)
string_to_float
float string_to_float(basic_string_view string)
float string_to_float(basic_string_view string)
string_to_double
double string_to_double(basic_string_view string)
double string_to_double(basic_string_view string)
tetrahedron_volume_sign
SIDE tetrahedron_volume_sign(const Tetrahedron & tetra)
SIDE tetrahedron_volume_sign(const Tetrahedron & tetra)
Return the sign of a tetrahedron volume.
triangle_area_sign
SIDE triangle_area_sign(const Triangle2D & triangle)
SIDE triangle_area_sign(const Triangle2D & triangle)
Return the sign of a 2D triangle area.
triangle_area_sign
SIDE triangle_area_sign(const Triangle3D & triangle, local_index_t axis)
SIDE triangle_area_sign(const Triangle3D & triangle, local_index_t axis)
Return the sign of a 3D triangle area aligned on X- Y- or Z-axis.
point_triangle_distance
tuple point_triangle_distance(const Point3D & point, const Triangle3D & triangle)
tuple point_triangle_distance(const Point3D & point, const Triangle3D & triangle)
point_triangle_distance
tuple point_triangle_distance(const Point2D & point, const Triangle2D & triangle)
tuple point_triangle_distance(const Point2D & point, const Triangle2D & triangle)
line_plane_intersection
IntersectionResult line_plane_intersection(const InfiniteLine3D & line, const Plane & plane)
IntersectionResult line_plane_intersection(const InfiniteLine3D & line, const Plane & plane)
Compute the intersection between a plane and an infinite line
return an optional of the intersection.
line_sphere_intersection
IntersectionResult<absl::InlinedVector<Point<dimension>, 2> > line_sphere_intersection(const InfiniteLine<dimension> & line, const Sphere<dimension> & sphere)
IntersectionResult<absl::InlinedVector<Point<dimension>, 2> > line_sphere_intersection(const InfiniteLine<dimension> & line, const Sphere<dimension> & sphere)
Compute the intersection(s) between a sphere and an infinite line
return an optional of the intersection points.
segment_sphere_intersection
IntersectionResult<absl::InlinedVector<Point<dimension>, 2> > segment_sphere_intersection(const Segment<dimension> & segment, const Sphere<dimension> & sphere)
IntersectionResult<absl::InlinedVector<Point<dimension>, 2> > segment_sphere_intersection(const Segment<dimension> & segment, const Sphere<dimension> & sphere)
Compute the intersection(s) between a (n-1)-sphere and a segment in n-dimension space.
return an optional of the intersection points.
segment_plane_intersection
IntersectionResult segment_plane_intersection(const Segment3D & segment, const Plane & plane)
IntersectionResult segment_plane_intersection(const Segment3D & segment, const Plane & plane)
Compute the intersection between a plane and a segment
return an optional of the intersection point.
warning if the segment is included in the plane nothing is returned
segment_triangle_intersection
IntersectionResult segment_triangle_intersection(const Segment3D & segment, const Triangle3D & triangle)
IntersectionResult segment_triangle_intersection(const Segment3D & segment, const Triangle3D & triangle)
Compute the intersection of a segment and a triangle
return an optional of the intersection point.
warning if the segment is included in the triangle plane nothing is returned
line_triangle_intersection
IntersectionResult line_triangle_intersection(const InfiniteLine3D & line, const Triangle3D & triangle)
IntersectionResult line_triangle_intersection(const InfiniteLine3D & line, const Triangle3D & triangle)
Compute the intersection of a line and a triangle
return an optional of the intersection point.
warning if the segment is included in the triangle plane nothing is returned
line_line_intersection
IntersectionResult line_line_intersection(const InfiniteLine2D & line0, const InfiniteLine2D & line1)
IntersectionResult line_line_intersection(const InfiniteLine2D & line0, const InfiniteLine2D & line1)
Compute the intersection between two infinite lines
return an optional of the intersection point.
segment_segment_intersection
IntersectionResult segment_segment_intersection(const Segment2D & segment0, const Segment2D & segment1)
IntersectionResult segment_segment_intersection(const Segment2D & segment0, const Segment2D & segment1)
Compute the intersection between two segments
return an optional of the intersection point.
segment_line_intersection
IntersectionResult segment_line_intersection(const Segment2D & segment, const InfiniteLine2D & line)
IntersectionResult segment_line_intersection(const Segment2D & segment, const InfiniteLine2D & line)
Compute the intersection between a segment and an infinite line
return an optional of the intersection point.
segment_cylinder_intersection
IntersectionResult segment_cylinder_intersection(const Segment3D & segment, const Cylinder & cylinder)
IntersectionResult segment_cylinder_intersection(const Segment3D & segment, const Cylinder & cylinder)
Compute the intersection between a segment and a cylinder
return an optional of the intersection points.
line_cylinder_intersection
IntersectionResult line_cylinder_intersection(const InfiniteLine3D & line, const Cylinder & cylinder)
IntersectionResult line_cylinder_intersection(const InfiniteLine3D & line, const Cylinder & cylinder)
Compute the intersection between a line and a cylinder
return an optional of the intersection points.
triangle_circle_intersection
IntersectionResult triangle_circle_intersection(const Triangle3D & triangle, const Circle & circle)
IntersectionResult triangle_circle_intersection(const Triangle3D & triangle, const Circle & circle)
Compute the intersection between a triangle and a circle
return an optional of the intersection points.
plane_circle_intersection
IntersectionResult plane_circle_intersection(const Plane & plane, const Circle & circle)
IntersectionResult plane_circle_intersection(const Plane & plane, const Circle & circle)
Compute the intersection between a plane and a circle
return an optional of the intersection points.
plane_plane_intersection
IntersectionResult plane_plane_intersection(const Plane & plane0, const Plane & plane1)
IntersectionResult plane_plane_intersection(const Plane & plane0, const Plane & plane1)
Compute the intersection between two planes
return an optional of the intersection line.
register_geode_mesh_input
void register_geode_mesh_input()
void register_geode_mesh_input()
is_zip_file
bool is_zip_file(basic_string_view file)
bool is_zip_file(basic_string_view file)
build_grid_from_bbox_target_length_and_maximum_cell_number
LightRegularGrid<dimension> build_grid_from_bbox_target_length_and_maximum_cell_number(const BoundingBox<dimension> & bbox, double target_cell_length, index_t max_nb_cells)
LightRegularGrid<dimension> build_grid_from_bbox_target_length_and_maximum_cell_number(const BoundingBox<dimension> & bbox, double target_cell_length, index_t max_nb_cells)
convert_solid_mesh_into_tetrahedral_solid
optional convert_solid_mesh_into_tetrahedral_solid(const SolidMesh3D & solid)
optional convert_solid_mesh_into_tetrahedral_solid(const SolidMesh3D & solid)
convert_grid_into_tetrahedral_solid
unique_ptr convert_grid_into_tetrahedral_solid(const Grid3D & grid)
unique_ptr convert_grid_into_tetrahedral_solid(const Grid3D & grid)
convert_grid_into_hybrid_solid
unique_ptr convert_grid_into_hybrid_solid(const Grid3D & grid)
unique_ptr convert_grid_into_hybrid_solid(const Grid3D & grid)
convert_grid_into_densified_tetrahedral_solid
unique_ptr convert_grid_into_densified_tetrahedral_solid(const Grid3D & grid, Span cells_to_densify)
unique_ptr convert_grid_into_densified_tetrahedral_solid(const Grid3D & grid, Span cells_to_densify)
convert_solid_mesh_into_hybrid_solid
optional convert_solid_mesh_into_hybrid_solid(const SolidMesh3D & solid)
optional convert_solid_mesh_into_hybrid_solid(const SolidMesh3D & solid)
merge_solid_meshes
unique_ptr merge_solid_meshes(Span solids)
unique_ptr merge_solid_meshes(Span solids)
create_edged_curve_coordinate_system
void create_edged_curve_coordinate_system(const EdgedCurve<dimension> & mesh, EdgedCurveBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
void create_edged_curve_coordinate_system(const EdgedCurve<dimension> & mesh, EdgedCurveBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
create_point_set_coordinate_system
void create_point_set_coordinate_system(const PointSet<dimension> & mesh, PointSetBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
void create_point_set_coordinate_system(const PointSet<dimension> & mesh, PointSetBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
create_surface_mesh_coordinate_system
void create_surface_mesh_coordinate_system(const SurfaceMesh<dimension> & mesh, SurfaceMeshBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
void create_surface_mesh_coordinate_system(const SurfaceMesh<dimension> & mesh, SurfaceMeshBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
create_solid_mesh_coordinate_system
void create_solid_mesh_coordinate_system(const SolidMesh<dimension> & mesh, SolidMeshBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
void create_solid_mesh_coordinate_system(const SolidMesh<dimension> & mesh, SolidMeshBuilder<dimension> & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
load_polygonal_surface
std::unique_ptr<PolygonalSurface<dimension> > load_polygonal_surface(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<PolygonalSurface<dimension> > load_polygonal_surface(const MeshImpl & impl, basic_string_view filename)
API function for loading an PolygonalSurface. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_polygonal_surface
std::unique_ptr<PolygonalSurface<dimension> > load_polygonal_surface(basic_string_view filename)
std::unique_ptr<PolygonalSurface<dimension> > load_polygonal_surface(basic_string_view filename)
API function for loading an PolygonalSurface. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_polygonal_surface_missing_files
typename PolygonalSurfaceInput<dimension>::MissingFiles check_polygonal_surface_missing_files(basic_string_view filename)
typename PolygonalSurfaceInput<dimension>::MissingFiles check_polygonal_surface_missing_files(basic_string_view filename)
is_polygonal_surface_loadable
bool is_polygonal_surface_loadable(basic_string_view filename)
bool is_polygonal_surface_loadable(basic_string_view filename)
load_point_set
std::unique_ptr<PointSet<dimension> > load_point_set(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<PointSet<dimension> > load_point_set(const MeshImpl & impl, basic_string_view filename)
API function for loading an PointSet. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_point_set
std::unique_ptr<PointSet<dimension> > load_point_set(basic_string_view filename)
std::unique_ptr<PointSet<dimension> > load_point_set(basic_string_view filename)
API function for loading an PointSet. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_point_set_missing_files
typename PointSetInput<dimension>::MissingFiles check_point_set_missing_files(basic_string_view filename)
typename PointSetInput<dimension>::MissingFiles check_point_set_missing_files(basic_string_view filename)
is_point_set_loadable
bool is_point_set_loadable(basic_string_view filename)
bool is_point_set_loadable(basic_string_view filename)
load_polyhedral_solid
std::unique_ptr<PolyhedralSolid<dimension> > load_polyhedral_solid(const MeshImpl & impl, basic_string_view filename)
std::unique_ptr<PolyhedralSolid<dimension> > load_polyhedral_solid(const MeshImpl & impl, basic_string_view filename)
API function for loading an PolyhedralSolid. The adequate loader is called depending on the filename extension.
impl [in] Data structure implementation.
filename [in] Path to the file to load.
load_polyhedral_solid
std::unique_ptr<PolyhedralSolid<dimension> > load_polyhedral_solid(basic_string_view filename)
std::unique_ptr<PolyhedralSolid<dimension> > load_polyhedral_solid(basic_string_view filename)
API function for loading an PolyhedralSolid. The adequate loader is called depending on the filename extension. Default data structure implémentation is used.
filename [in] Path to the file to load.
check_polyhedral_solid_missing_files
typename PolyhedralSolidInput<dimension>::MissingFiles check_polyhedral_solid_missing_files(basic_string_view filename)
typename PolyhedralSolidInput<dimension>::MissingFiles check_polyhedral_solid_missing_files(basic_string_view filename)
is_polyhedral_solid_loadable
bool is_polyhedral_solid_loadable(basic_string_view filename)
bool is_polyhedral_solid_loadable(basic_string_view filename)
euclidean_distance_transform
shared_ptr euclidean_distance_transform(const Grid<dimension> & grid, absl::Span<const typename Grid<dimension>::CellIndices> grid_cell_ids, basic_string_view distance_map_name)
shared_ptr euclidean_distance_transform(const Grid<dimension> & grid, absl::Span<const typename Grid<dimension>::CellIndices> grid_cell_ids, basic_string_view distance_map_name)
API function for creating and computing the euclidean distance map from rasterized objects. It computes the exact euclidean distance map.
grid [in] Regular grid on which the euclidean distance map is computed.
grid_cell_ids [in] Rasterization of every objects from which the distance will be computed.
distance_map_name [in] Name of the attribute to store the map on the
*grid.*
*grid.*
exceptionif the attribute named
distance_map_name cannot be accessed.
return the created attribute
compute_surface_scalar_function_gradient
basic_string compute_surface_scalar_function_gradient(const SurfaceMesh<dimension> & mesh, basic_string_view scalar_function_name)
basic_string compute_surface_scalar_function_gradient(const SurfaceMesh<dimension> & mesh, basic_string_view scalar_function_name)
compute_solid_scalar_function_gradient
basic_string compute_solid_scalar_function_gradient(const SolidMesh3D & mesh, basic_string_view scalar_function_name)
basic_string compute_solid_scalar_function_gradient(const SolidMesh3D & mesh, basic_string_view scalar_function_name)
hausdorff_distance
double hausdorff_distance(const TriangulatedSurface3D & mesh_A, const TriangulatedSurface3D & mesh_B)
double hausdorff_distance(const TriangulatedSurface3D & mesh_A, const TriangulatedSurface3D & mesh_B)
rasterize_segment
std::vector<typename Grid<dimension>::CellIndices> rasterize_segment(const Grid<dimension> & grid, const Segment<dimension> & segment)
std::vector<typename Grid<dimension>::CellIndices> rasterize_segment(const Grid<dimension> & grid, const Segment<dimension> & segment)
conservative_rasterize_segment
std::vector<typename Grid<dimension>::CellIndices> conservative_rasterize_segment(const Grid<dimension> & grid, const Segment<dimension> & segment)
std::vector<typename Grid<dimension>::CellIndices> conservative_rasterize_segment(const Grid<dimension> & grid, const Segment<dimension> & segment)
conservative_rasterize_triangle
std::vector<typename Grid<dimension>::CellIndices> conservative_rasterize_triangle(const Grid<dimension> & grid, const Triangle<dimension> & triangle)
std::vector<typename Grid<dimension>::CellIndices> conservative_rasterize_triangle(const Grid<dimension> & grid, const Triangle<dimension> & triangle)
rasterize_tetrahedron
vector rasterize_tetrahedron(const Grid3D & grid, const Tetrahedron & tetrahedron)
vector rasterize_tetrahedron(const Grid3D & grid, const Tetrahedron & tetrahedron)
rasterize_closed_surface
vector rasterize_closed_surface(const Grid3D & grid, const TriangulatedSurface3D & closed_surface)
vector rasterize_closed_surface(const Grid3D & grid, const TriangulatedSurface3D & closed_surface)
surface_radial_sort
SortedSurfaces surface_radial_sort(const BRep & brep, const Line3D & line)
SortedSurfaces surface_radial_sort(const BRep & brep, const Line3D & line)
find_intersections_with_boundaries
flat_hash_map find_intersections_with_boundaries(const InfiniteLine3D & infinite_line, const BRep & brep, const Block3D & block)
flat_hash_map find_intersections_with_boundaries(const InfiniteLine3D & infinite_line, const BRep & brep, const Block3D & block)
is_point_inside_block
bool is_point_inside_block(const BRep & brep, const Block3D & block, const Point3D & point)
bool is_point_inside_block(const BRep & brep, const Block3D & block, const Point3D & point)
is_point_inside_closed_surface
bool is_point_inside_closed_surface(const SurfaceMesh3D & surface, const Point3D & point)
bool is_point_inside_closed_surface(const SurfaceMesh3D & surface, const Point3D & point)
block_containing_point
optional block_containing_point(const BRep & brep, const Point3D & point)
optional block_containing_point(const BRep & brep, const Point3D & point)
convert_surface_mesh
void convert_surface_mesh(const Section & model, SectionBuilder & builder, const geode::Surface2D & surface, const geode::MeshType & mesh_type)
void convert_surface_mesh(const Section & model, SectionBuilder & builder, const geode::Surface2D & surface, const geode::MeshType & mesh_type)
convert_surface_mesh
void convert_surface_mesh(const BRep & model, BRepBuilder & builder, const geode::Surface3D & surface, const geode::MeshType & mesh_type)
void convert_surface_mesh(const BRep & model, BRepBuilder & builder, const geode::Surface3D & surface, const geode::MeshType & mesh_type)
convert_surface_meshes_into_triangulated_surfaces
void convert_surface_meshes_into_triangulated_surfaces(const BRep & brep, BRepBuilder & builder)
void convert_surface_meshes_into_triangulated_surfaces(const BRep & brep, BRepBuilder & builder)
convert_surface_meshes_into_triangulated_surfaces
void convert_surface_meshes_into_triangulated_surfaces(const Section & section, SectionBuilder & builder)
void convert_surface_meshes_into_triangulated_surfaces(const Section & section, SectionBuilder & builder)
convert_block_mesh
void convert_block_mesh(const BRep & model, BRepBuilder & builder, const Block3D & block, const MeshType & new_mesh_type)
void convert_block_mesh(const BRep & model, BRepBuilder & builder, const Block3D & block, const MeshType & new_mesh_type)
convert_block_meshes_into_tetrahedral_solids
void convert_block_meshes_into_tetrahedral_solids(const BRep & brep, BRepBuilder & builder)
void convert_block_meshes_into_tetrahedral_solids(const BRep & brep, BRepBuilder & builder)
triangulate_surface_meshes
void triangulate_surface_meshes(const BRep & brep, BRepBuilder & builder)
void triangulate_surface_meshes(const BRep & brep, BRepBuilder & builder)
triangulate_surface_meshes
void triangulate_surface_meshes(const Section & section, SectionBuilder & builder)
void triangulate_surface_meshes(const Section & section, SectionBuilder & builder)
convert_surface_meshes_into_triangulated_surfaces
void convert_surface_meshes_into_triangulated_surfaces(BRep & brep)
void convert_surface_meshes_into_triangulated_surfaces(BRep & brep)
convert_section_into_curve
tuple convert_section_into_curve(const Section & section)
tuple convert_section_into_curve(const Section & section)
convert_section_into_surface
tuple convert_section_into_surface(const Section & section)
tuple convert_section_into_surface(const Section & section)
convert_brep_into_curve
tuple convert_brep_into_curve(const BRep & brep)
tuple convert_brep_into_curve(const BRep & brep)
convert_brep_into_surface
tuple convert_brep_into_surface(const BRep & brep)
tuple convert_brep_into_surface(const BRep & brep)
convert_brep_into_solid
tuple convert_brep_into_solid(const BRep & brep)
tuple convert_brep_into_solid(const BRep & brep)
create_brep_coordinate_system
void create_brep_coordinate_system(const BRep & model, BRepBuilder & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
void create_brep_coordinate_system(const BRep & model, BRepBuilder & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
create_section_coordinate_system
void create_section_coordinate_system(const Section & model, SectionBuilder & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
void create_section_coordinate_system(const Section & model, SectionBuilder & builder, basic_string_view new_coordinate_system_name, const CoordinateSystem2D & input, const CoordinateSystem2D & output)
set_brep_active_coordinate_system
void set_brep_active_coordinate_system(const BRep & model, BRepBuilder & builder, basic_string_view coordinate_system_name)
void set_brep_active_coordinate_system(const BRep & model, BRepBuilder & builder, basic_string_view coordinate_system_name)
set_section_active_coordinate_system
void set_section_active_coordinate_system(const Section & model, SectionBuilder & builder, basic_string_view coordinate_system_name)
void set_section_active_coordinate_system(const Section & model, SectionBuilder & builder, basic_string_view coordinate_system_name)
filter_brep_components_with_regards_to_blocks
vector filter_brep_components_with_regards_to_blocks(BRep & brep)
vector filter_brep_components_with_regards_to_blocks(BRep & brep)
filter_section_components_with_regards_to_surfaces
vector filter_section_components_with_regards_to_surfaces(Section & section)
vector filter_section_components_with_regards_to_surfaces(Section & section)
brep_coordinate_reference_systems
FixedArray brep_coordinate_reference_systems(const BRep & brep)
FixedArray brep_coordinate_reference_systems(const BRep & brep)
section_coordinate_reference_systems
FixedArray section_coordinate_reference_systems(const Section & section)
FixedArray section_coordinate_reference_systems(const Section & section)
brep_active_coordinate_reference_systems
FixedArray brep_active_coordinate_reference_systems(const BRep & brep)
FixedArray brep_active_coordinate_reference_systems(const BRep & brep)
section_active_coordinate_reference_systems
FixedArray section_active_coordinate_reference_systems(const Section & section)
FixedArray section_active_coordinate_reference_systems(const Section & section)
Enums
| enum class POSITION |
--
| outside | | inside | | vertex0 | | vertex1 | | vertex2 | | vertex3 | | edge0 | | edge1 | | edge2 | | edge01 | | edge02 | | edge03 | | edge12 | | edge13 | | edge23 | | facet0 | | facet1 | | facet2 | | facet3 | | parallel |
| enum class SIDE |
--
| positive | | negative | | zero |
| enum class INTERSECTION_TYPE |
--
| none | | intersect | | parallel | | incorrect |