The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
nurbs_cad.F90 File Reference
#include "local.h"

Data Types

type  nurbs_curve
 CAD curve class. More...
interface  nurbs_curve_domain
 Get the parametric domain of a NURBS curve. More...
interface  nurbs_curve_linear
 Test if NURBS curve is straight. More...
interface  nurbs_curve_name
 Get the name of a OpenNURBS curve. More...
interface  nurbs_curve_periodic
 Test periodicity of a NURBS curve. More...
interface  nurbs_dummy_eval
 Evaluate position from a NURBS object. More...
interface  nurbs_dummy_find
 Find the nearest location on a NURBS object to a given point. More...
interface  nurbs_dummy_grid
 Create a grid of points evenly spaced in parametric space. More...
interface  nurbs_dummy_unwrap
 Unwrap the periodic coordinates of a NURBS object to avoid parameter cuts. More...
interface  nurbs_dummy_wrap
 Wrap the periodic coordinates of a NURBS object into a single span. More...
type  nurbs_entity
 CAD entity class. More...
type  nurbs_entity_ptr
 List of CAD entities. More...
interface  nurbs_eval_curve
 Evalute the position along a NURBS curve. More...
interface  nurbs_eval_surf
 Evalute the position on a NURBS surface. More...
interface  nurbs_finalize
 Finalize the OpenNURBS library. More...
interface  nurbs_get_count
 Get a count of OpenNURBS objects in current file. More...
interface  nurbs_init
 Initialize the OpenNURBS library. More...
interface  nurbs_read_in
 Read-in a OpenNURBS *.3dm geometry file set objects as active. More...
type  nurbs_surf
 CAD surface class. More...
interface  nurbs_surf_domain
 Get the parametric domain of a NURBS surface. More...
interface  nurbs_surf_name
 Get the name of a OpenNURBS surface. More...
interface  nurbs_surf_periodic
 Test periodicity of a NURBS surface. More...
interface  nurbs_surf_planar
 Test if NURBS surface is planar. More...
interface  nurbs_surf_singular
 Test if edges of a NURBS surface are degenerate. More...

Modules

module  nurbs_cad
 CAD utility functions and class definition for reconstruction of non-uniform rational bezier CAD objects.

Functions/Subroutines

subroutine nurbs_cmid_error (m, n, uv, err, iflag)
 Evalute the error between a curve point and the current active points used in a 2 point minimization.
subroutine nurbs_curve_eval (self, pt, u, v)
 Map the parametric position on a curve to physical coordinates.
subroutine nurbs_curve_find (self, pt, u, v, ierr)
 Find the parametric representation of a boundary point in CAD representation on a curve.
subroutine nurbs_curve_grid (self)
 Evalute a grid of points evenly spaced in parametric space.
subroutine, public nurbs_curve_midpoint (self, pt, pt1, pt2, wt1, wt2, ierr)
 Compute the weighted midpoint of a curve edge.
subroutine nurbs_curve_unwrap (self, u1, u2, v1, v2)
 Unwrap the coordinate of a periodic NURBS curve to avoid parameter cuts.
subroutine nurbs_curve_wrap (self, u, v)
 Wrap the coordinate of a periodic NURBS curve into a single span.
subroutine nurbs_scenter_error (m, n, uv, err, iflag)
 Evalute the error between a surface point and the current active points used in a 3 point minimization.
subroutine nurbs_smid_error (m, n, uv, err, iflag)
 Evalute the error between a surface point and the current active points used in a 2 point minimization.
logical function nurbs_surf_atsingular (self, u, v)
 Detect if parametric location is at singular point.
subroutine, public nurbs_surf_avg (self, n, uin, vin, uavg, vavg)
 Needs docs?
subroutine, public nurbs_surf_center (self, pt, pt1, pt2, pt3, wt1, wt2, wt3, ierr)
 Compute the weighted center point of a surface triangle.
subroutine nurbs_surf_error (m, n, uv, err, iflag)
 Evalute the error between a surface point and the current active point used in a minimization.
subroutine nurbs_surf_eval (self, pt, u, v)
 Map the parametric position on a surface to physical coordinates.
subroutine nurbs_surf_find (self, pt, u, v, ierr)
 Find the parametric representation of a boundary point in CAD representation on a surface.
subroutine nurbs_surf_grid (self)
 Evalute a grid of points evenly spaced in parametric space.
subroutine, public nurbs_surf_midpoint (self, pt, pt1, pt2, wt1, wt2, ierr)
 Compute the weighted midpoint of a surface edge.
subroutine nurbs_surf_unwrap (self, u1, u2, v1, v2)
 Unwrap the periodic coordinates of a NURBS surface to avoid parameter cuts.
subroutine nurbs_surf_wrap (self, u, v)
 Wrap the periodic coordinates of a NURBS surface into a single span.

Variables

class(nurbs_curve), pointer active_curve => NULL()
 Active curve for MINPACK fitting.
real(r8), dimension(3, 3) active_endpts
 Active constraint points for MINPACK fitting.
real(r8), dimension(3) active_pt
 Active fit point for MINPACK fitting.
class(nurbs_surf), pointer active_surf => NULL()
 Active surface for MINPACK fitting.
real(r8), dimension(3) active_wts
 Active constraint weights for MINPACK fitting.
integer(i4), parameter nurbs_ngrid = 20
 Number of grid points to use for object meshes.
real(r8), parameter nurbs_singstep = .1d0
 Distance to offset guesses from singular edges.