occ
Loading...
Searching...
No Matches
occ::isosurface Namespace Reference

Namespaces

namespace  cell_caps_impl
namespace  impl
namespace  pointwise

Classes

struct  CellCapClassification
struct  AxisAlignedBoundingBox
struct  AtomInterpolator
struct  InterpolatorParams
class  BatchFunctor
struct  SurfaceCurvature
class  DeformationDensityFunctor
class  MCDeformationDensityFunctor
class  ElectricPotentialFunctorPC
class  ElectricPotentialFunctor
class  MCElectricPotentialFunctor
class  ElectronDensityFunctor
class  MCElectronDensityFunctor
struct  QualityParams
struct  AngleStats
struct  IsosurfaceProperties
struct  Isosurface
struct  IsosurfaceGenerationParameters
class  IsosurfaceCalculator
class  RadiusMetric
class  LogSumExpFunctor
struct  OrbitalIndex
class  MCPromoleculeDensityFunctor
struct  SharpRefineParams
class  StockholderWeightFunctor
class  GenericStockholderWeightFunctor
struct  RInvFunc
struct  ExpFunc
class  VoidSurfaceFunctor
class  VolumeGridFunctor
struct  VolumeGenerationParameters
class  VolumeCalculator
 Calculator for generating volume data from quantum mechanical properties. More...
struct  VolumeData
 Clean volumetric data representation using Eigen::Tensor. More...
struct  Wavefunction

Typedefs

using AtomCellList = occ::core::AtomCellList
using LinearInterpolatorFloat
using Property = std::variant<FVec, IVec>
using PropertyMap = ankerl::unordered_dense::map<std::string, Property>
using AtomList = std::vector<occ::core::Atom>
using VolumeGridPtr = std::shared_ptr<const occ::geometry::VolumeGrid>

Enumerations

enum class  SurfaceKind {
  PromoleculeDensity , Hirshfeld , EEQ_ESP , ElectronDensity ,
  ESP , SpinDensity , DeformationDensity , Orbital ,
  CrystalVoid , VolumeGrid , SoftVoronoi , VDWLogSumExp ,
  HSRinv , HSExp
}
enum class  PropertyKind {
  Dnorm , Dint_norm , Dext_norm , Dint ,
  Dext , FragmentPatch , ShapeIndex , Curvedness ,
  EEQ_ESP , PromoleculeDensity , ESP , ElectronDensity ,
  SpinDensity , DeformationDensity , Orbital , GaussianCurvature ,
  MeanCurvature , CurvatureK1 , CurvatureK2
}
enum class  GridInterpolation { NearestPoint , Trilinear }
enum class  OutputFormat { Cube , GGrid , PGrid }
enum class  VolumePropertyKind {
  ElectronDensity , ElectronDensityAlpha , ElectronDensityBeta , ElectricPotential ,
  EEQ_ESP , PromoleculeDensity , DeformationDensity , XCDensity ,
  CrystalVoid , MO , MODensity
}
enum class  SpinComponent

Functions

template<typename F>
CellCapClassification add_cell_caps (const F &functor, float iso, std::vector< float > &vertices_frac, std::vector< float > &normals, std::vector< float > &curvatures, std::vector< uint32_t > &indices, float on_face_tol=1.0e-4f)
template<typename F>
 BatchFunctor (F &&) -> BatchFunctor< std::remove_reference_t< F > >
template<typename F, typename... Args>
auto make_batch_functor (Args &&...args)
SurfaceCurvature calculate_curvature (const std::vector< float > &mean, const std::vector< float > &gaussian)
SurfaceCurvature calculate_curvature (const FVec &mean, const FVec &gaussian)
AngleStats triangle_angle_stats (const std::vector< float > &V, const std::vector< uint32_t > &F)
template<typename Func>
void improve_mesh_quality (const Func &func, float isovalue, const QualityParams &params, std::vector< float > &V, std::vector< float > &N, std::vector< float > &C, std::vector< uint32_t > &F)
void weld_vertices (std::vector< float > &V, std::vector< float > &N, std::vector< float > &C, std::vector< uint32_t > &F)
std::vector< OrbitalIndex > parse_orbital_descriptions (const std::string &input)
template<typename Func>
void refine_sharp_edges (const Func &func, float isovalue, const SharpRefineParams &params, std::vector< float > &V, std::vector< float > &N, std::vector< float > &C, std::vector< uint32_t > &F)
constexpr const char * property_to_string (PropertyKind prop)
constexpr const char * surface_to_string (SurfaceKind surface)
constexpr bool surface_requires_wavefunction (SurfaceKind kind)
constexpr bool property_requires_wavefunction (PropertyKind kind)
constexpr bool surface_requires_environment (SurfaceKind kind)
constexpr bool property_requires_environment (PropertyKind kind)
SurfaceKind surface_from_string (const std::string &)
const std::vector< SurfaceKind > & available_surface_types ()
const std::vector< PropertyKind > & default_properties (bool have_environment)
PropertyKind property_from_string (const std::string &)
std::vector< PropertyKind > surface_properties_to_compute (const std::vector< PropertyKind > &additional_properties, bool have_environment)

Typedef Documentation

◆ AtomCellList

◆ AtomList

◆ LinearInterpolatorFloat

Initial value:
Class for interpolating one-dimensional functions.
Definition interpolator.h:30

◆ Property

using occ::isosurface::Property = std::variant<FVec, IVec>

◆ PropertyMap

using occ::isosurface::PropertyMap = ankerl::unordered_dense::map<std::string, Property>

◆ VolumeGridPtr

Enumeration Type Documentation

◆ GridInterpolation

Enumerator
NearestPoint 
Trilinear 

◆ OutputFormat

enum class occ::isosurface::OutputFormat
strong
Enumerator
Cube 
GGrid 
PGrid 

◆ PropertyKind

enum class occ::isosurface::PropertyKind
strong
Enumerator
Dnorm 
Dint_norm 
Dext_norm 
Dint 
Dext 
FragmentPatch 
ShapeIndex 
Curvedness 
EEQ_ESP 
PromoleculeDensity 
ESP 
ElectronDensity 
SpinDensity 
DeformationDensity 
Orbital 
GaussianCurvature 
MeanCurvature 
CurvatureK1 
CurvatureK2 

◆ SpinComponent

enum class occ::qm::SpinComponent
strong

◆ SurfaceKind

enum class occ::isosurface::SurfaceKind
strong
Enumerator
PromoleculeDensity 
Hirshfeld 
EEQ_ESP 
ElectronDensity 
ESP 
SpinDensity 
DeformationDensity 
Orbital 
CrystalVoid 
VolumeGrid 
SoftVoronoi 
VDWLogSumExp 
HSRinv 
HSExp 

◆ VolumePropertyKind

Enumerator
ElectronDensity 
ElectronDensityAlpha 
ElectronDensityBeta 
ElectricPotential 
EEQ_ESP 
PromoleculeDensity 
DeformationDensity 
XCDensity 
CrystalVoid 
MO 
MODensity 

Function Documentation

◆ add_cell_caps()

template<typename F>
CellCapClassification occ::isosurface::add_cell_caps ( const F & functor,
float iso,
std::vector< float > & vertices_frac,
std::vector< float > & normals,
std::vector< float > & curvatures,
std::vector< uint32_t > & indices,
float on_face_tol = 1.0e-4f )

◆ available_surface_types()

const std::vector< SurfaceKind > & occ::isosurface::available_surface_types ( )

◆ BatchFunctor()

template<typename F>
occ::isosurface::BatchFunctor ( F && ) ->BatchFunctor< std::remove_reference_t< F > >

◆ calculate_curvature() [1/2]

SurfaceCurvature occ::isosurface::calculate_curvature ( const FVec & mean,
const FVec & gaussian )

◆ calculate_curvature() [2/2]

SurfaceCurvature occ::isosurface::calculate_curvature ( const std::vector< float > & mean,
const std::vector< float > & gaussian )

◆ default_properties()

const std::vector< PropertyKind > & occ::isosurface::default_properties ( bool have_environment)

◆ improve_mesh_quality()

template<typename Func>
void occ::isosurface::improve_mesh_quality ( const Func & func,
float isovalue,
const QualityParams & params,
std::vector< float > & V,
std::vector< float > & N,
std::vector< float > & C,
std::vector< uint32_t > & F )

◆ make_batch_functor()

template<typename F, typename... Args>
auto occ::isosurface::make_batch_functor ( Args &&... args)

◆ parse_orbital_descriptions()

std::vector< OrbitalIndex > occ::isosurface::parse_orbital_descriptions ( const std::string & input)

◆ property_from_string()

PropertyKind occ::isosurface::property_from_string ( const std::string & )

◆ property_requires_environment()

bool occ::isosurface::property_requires_environment ( PropertyKind kind)
inlineconstexpr

◆ property_requires_wavefunction()

bool occ::isosurface::property_requires_wavefunction ( PropertyKind kind)
inlineconstexpr

◆ property_to_string()

const char * occ::isosurface::property_to_string ( PropertyKind prop)
inlineconstexpr

◆ refine_sharp_edges()

template<typename Func>
void occ::isosurface::refine_sharp_edges ( const Func & func,
float isovalue,
const SharpRefineParams & params,
std::vector< float > & V,
std::vector< float > & N,
std::vector< float > & C,
std::vector< uint32_t > & F )

◆ surface_from_string()

SurfaceKind occ::isosurface::surface_from_string ( const std::string & )

◆ surface_properties_to_compute()

std::vector< PropertyKind > occ::isosurface::surface_properties_to_compute ( const std::vector< PropertyKind > & additional_properties,
bool have_environment )

◆ surface_requires_environment()

bool occ::isosurface::surface_requires_environment ( SurfaceKind kind)
inlineconstexpr

◆ surface_requires_wavefunction()

bool occ::isosurface::surface_requires_wavefunction ( SurfaceKind kind)
inlineconstexpr

◆ surface_to_string()

const char * occ::isosurface::surface_to_string ( SurfaceKind surface)
inlineconstexpr

◆ triangle_angle_stats()

AngleStats occ::isosurface::triangle_angle_stats ( const std::vector< float > & V,
const std::vector< uint32_t > & F )
inline

◆ weld_vertices()

void occ::isosurface::weld_vertices ( std::vector< float > & V,
std::vector< float > & N,
std::vector< float > & C,
std::vector< uint32_t > & F )
inline