RINGMesh  Version 5.0.0
A programming library for geological model meshes
RINGMesh::GeoModelBuilder2DProjection Class Reference

Builder of GeoModel2D which project a GeoModel3D onto a plane. More...

#include <geomodel_builder_2d_from_3d.h>

Inheritance diagram for RINGMesh::GeoModelBuilder2DProjection:
RINGMesh::GeoModelBuilder2DFrom3D RINGMesh::GeoModelBuilder< 2 > RINGMesh::GeoModelBuilderBase< DIMENSION >

Public Member Functions

 GeoModelBuilder2DProjection (GeoModel2D &geomodel2d, const GeoModel3D &geomodel3d_from, const Geometry::Plane &plane)
 
void build_geomodel ()
 
- Public Member Functions inherited from RINGMesh::GeoModelBuilder2DFrom3D
 GeoModelBuilder2DFrom3D (GeoModel2D &geomodel2d, const GeoModel3D &geomodel3d_from, const Geometry::Plane &plane)
 
- Public Member Functions inherited from RINGMesh::GeoModelBuilder< 2 >
 GeoModelBuilder (GeoModel2D &geomodel)
 
- Public Member Functions inherited from RINGMesh::GeoModelBuilderBase< DIMENSION >
virtual ~GeoModelBuilderBase ()=default
 
void end_geomodel ()
 Finish up geomodel building and complete missing information. More...
 
void build_corners_from_lines ()
 
void build_lines_and_corners_from_surfaces ()
 

Private Member Functions

void copy_geomodel_3d_topology ()
 
void copy_geomodel_3d_geological_informations ()
 
void project_geomodel_3d_mesh_entities ()
 
std::vector< vec2compute_projected_vertices (const GeoModelMeshEntity3D &entity)
 

Additional Inherited Members

- Public Attributes inherited from RINGMesh::GeoModelBuilderBase< DIMENSION >
GeoModelBuilderTopology< DIMENSION > topology
 
GeoModelBuilderGeometry< DIMENSION > geometry
 
GeoModelBuilderGeology< DIMENSION > geology
 
GeoModelBuilderRemoval< DIMENSION > removal
 
GeoModelBuilderRepair< DIMENSION > repair
 
GeoModelBuilderCopy< DIMENSION > copy
 
GeoModelBuilderInfo< DIMENSION > info
 
- Protected Member Functions inherited from RINGMesh::GeoModelBuilder2DFrom3D
vec2 get_2d_coord (const vec3 &coord3d)
 
- Protected Member Functions inherited from RINGMesh::GeoModelBuilderBase< DIMENSION >
 GeoModelBuilderBase (GeoModelBuilder< DIMENSION > &builder, GeoModel< DIMENSION > &geomodel)
 
void cut_geomodel_on_internal_boundaries ()
 
template<>
void cut_geomodel_on_internal_boundaries ()
 
template<>
void cut_geomodel_on_internal_boundaries ()
 
- Protected Attributes inherited from RINGMesh::GeoModelBuilder2DFrom3D
const GeoModel3D & geomodel3d_from_
 
const Geometry::Planeplane_
 
vec3 u_axis {}
 
vec3 v_axis {}
 
- Protected Attributes inherited from RINGMesh::GeoModelBuilderBase< DIMENSION >
GeoModel< DIMENSION > & geomodel_
 
GeoModelAccess< DIMENSION > geomodel_access_
 

Detailed Description

Builder of GeoModel2D which project a GeoModel3D onto a plane.

Note
This builder is dedicated to planar or sub-planar GeoModel3D without volume, i.e. cross-sections, map-view models or GeoModel3D only made of 1 fault or 1 horizon.
Warning
The result GeoModel2D is not guaranteed to be valid. It depends of the projection.

Definition at line 101 of file geomodel_builder_2d_from_3d.h.

Constructor & Destructor Documentation

◆ GeoModelBuilder2DProjection()

RINGMesh::GeoModelBuilder2DProjection::GeoModelBuilder2DProjection ( GeoModel2D &  geomodel2d,
const GeoModel3D &  geomodel3d_from,
const Geometry::Plane plane 
)
inline

Definition at line 105 of file geomodel_builder_2d_from_3d.h.

Member Function Documentation

◆ build_geomodel()

void RINGMesh::GeoModelBuilder2DProjection::build_geomodel ( )

Definition at line 76 of file geomodel_builder_2d_from_3d.cpp.

◆ compute_projected_vertices()

std::vector< vec2 > RINGMesh::GeoModelBuilder2DProjection::compute_projected_vertices ( const GeoModelMeshEntity3D &  entity)
private

Definition at line 179 of file geomodel_builder_2d_from_3d.cpp.

◆ copy_geomodel_3d_geological_informations()

void RINGMesh::GeoModelBuilder2DProjection::copy_geomodel_3d_geological_informations ( )
private

Definition at line 107 of file geomodel_builder_2d_from_3d.cpp.

◆ copy_geomodel_3d_topology()

void RINGMesh::GeoModelBuilder2DProjection::copy_geomodel_3d_topology ( )
private

Definition at line 84 of file geomodel_builder_2d_from_3d.cpp.

◆ project_geomodel_3d_mesh_entities()

void RINGMesh::GeoModelBuilder2DProjection::project_geomodel_3d_mesh_entities ( )
private

Definition at line 139 of file geomodel_builder_2d_from_3d.cpp.


The documentation for this class was generated from the following files: