fossil_curve_object
Source: src/lib/fossil_curve_object.f90
Dependencies
Contents
- curve_object
- curve_ccd_evaluator_t
- curve_evaluator_t
- distance_to
- time_of_impact
- first_impact_2d
- segment_pair
- set_patch
- adopt_loops
- box_classify_many
- box_classify_many_device
- tag_block
- curve_thickness
- ray_first_2d
- curve_thin_regions
- curve_build_thin
- curve_drop_thin
- curve_box_thin_many
- curve_box_thin_many_device
- line_crossings
- cell_wall_fractions
- cut_cells
- line_crossings_many
- line_crossings_many_device
- distance_many
- distance_many_device
- query_many
- curve_markers
- query_many_device
- probe_many
- image_points
- enter_device
- exit_device
- destroy
- get_loop_range
- compute_distance
- deviation
- hausdorff
- feature_corners
- corner_distances
- curve_evaluator_eval
- curve_ccd_distance
- curve_ccd_safe_step
- load_from_file
- mass_properties
- repair
- save_into_file
- self_intersections
- wall_distance_many
- state_changes
- move
- curve_metrics
- analyze
- compute_bodies
- curve_query_oac
- second_foot_2d
- curve_crossings_core
- get_patches_number
- patch_name
- segment_patch
- box_intersects_curve
- vertex_curvature
- foot_curvature_2d
- check_validity
- get_area
- get_bmax
- get_bmin
- get_centroid
- get_bodies_number
- loop_body
- get_is_on_device
- get_loop_area
- get_loops_number
- get_normal_axis
- get_perimeter
- get_vertex
- get_next
- get_vertices_number
- distance
- is_loop_closed
- is_point_inside
- winding_number
- nesting_depth
- winding_number_exact
- loop_winding
- shoelace
- curve_signed_distance_oac
- path_clear
- rich_sizes_ok
- curve_many_ok
- body_points2
- resolve_batch_options
- segments_intersect
- folds_back
- opposite
- on_box
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
CURVE_VALID | integer(kind=I4P) | parameter | |
CURVE_TOO_FEW_VERTICES | integer(kind=I4P) | parameter | |
CURVE_ZERO_LENGTH_SEGMENT | integer(kind=I4P) | parameter | |
CURVE_ZERO_AREA_LOOP | integer(kind=I4P) | parameter | |
CURVE_WRONG_ORIENTATION | integer(kind=I4P) | parameter | |
CURVE_OPEN_LOOP | integer(kind=I4P) | parameter | |
CURVE_SELF_INTERSECTING | integer(kind=I4P) | parameter |
Derived Types
curve_object
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
normal_axis | integer(kind=I4P) | ||
nv | integer(kind=I4P) | ||
nl | integer(kind=I4P) | ||
u | real(kind=R8P) | allocatable | |
v | real(kind=R8P) | allocatable | |
loop_start | integer(kind=I4P) | allocatable | |
loop_of | integer(kind=I4P) | allocatable | |
loop_closed | logical | allocatable | |
next | integer(kind=I4P) | allocatable | |
prev | integer(kind=I4P) | allocatable | |
seg_len | real(kind=R8P) | allocatable | |
seg_nu | real(kind=R8P) | allocatable | |
seg_nv | real(kind=R8P) | allocatable | |
pn_u | real(kind=R8P) | allocatable | |
pn_v | real(kind=R8P) | allocatable | |
loop_area | real(kind=R8P) | allocatable | |
loop_body_ | integer(kind=I4P) | allocatable | |
vertex_body | integer(kind=I4P) | allocatable | |
bodies_number | integer(kind=I4P) | ||
seg_patch | integer(kind=I4P) | allocatable | |
patch_names | character(len=64) | allocatable | |
bmin | real(kind=R8P) | ||
bmax | real(kind=R8P) | ||
area | real(kind=R8P) | ||
perimeter | real(kind=R8P) | ||
centroid | real(kind=R8P) | ||
bvh | type(segment_bvh) | ||
is_on_device | logical | ||
thin_pay | real(kind=R8P) | allocatable | |
thin_node | real(kind=R8P) | allocatable | |
thin_built | logical | ||
thin_on_device | logical |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
adopt_loops | pass(self) | |
get_patches_number | pass(self) | |
patch_name | pass(self) | |
segment_patch | pass(self) | |
set_patch | pass(self) | |
distance_to | pass(self) | |
time_of_impact | pass(self) | |
box_classify_many | pass(self) | |
box_intersects_curve | pass(self) | |
box_classify_many_device | pass(self) | |
tag_block | pass(self) | |
line_crossings | pass(self) | |
cell_wall_fractions | pass(self) | |
line_crossings_many | pass(self) | |
line_crossings_many_device | pass(self) | |
cut_cells | pass(self) | |
move | pass(self) | |
state_changes | pass(self) | |
wall_distance_many | pass(self) | |
curve_markers | pass(self) | |
check_validity | pass(self) | |
compute_distance | pass(self) | |
distance | pass(self) | |
destroy | pass(self) | |
distance_many | pass(self) | |
distance_many_device | pass(self) | |
enter_device | pass(self) | |
query_many | pass(self) | |
query_many_device | pass(self) | |
probe_many | pass(self) | |
image_points | pass(self) | |
exit_device | pass(self) | |
get_area | pass(self) | |
get_bmax | pass(self) | |
get_bmin | pass(self) | |
get_bodies_number | pass(self) | |
get_centroid | pass(self) | |
loop_body | pass(self) | |
get_is_on_device | pass(self) | |
get_loop_area | pass(self) | |
get_loop_range | pass(self) | |
get_loops_number | pass(self) | |
get_normal_axis | pass(self) | |
get_perimeter | pass(self) | |
get_vertex | pass(self) | |
get_next | pass(self) | |
get_vertices_number | pass(self) | |
is_loop_closed | pass(self) | |
is_point_inside | pass(self) | |
load_from_file | pass(self) | |
mass_properties | pass(self) | |
deviation | pass(self) | |
hausdorff | pass(self) | |
feature_corners | pass(self) | |
thickness | pass(self) | |
thin_regions | pass(self) | |
build_thin | pass(self) | |
box_thin_many | pass(self) | |
box_thin_many_device | pass(self) | |
nesting_depth | pass(self) | |
repair | pass(self) | |
save_into_file | pass(self) | |
self_intersections | pass(self) | |
winding_number | pass(self) | |
winding_number_exact | pass(self) | |
analyze | pass(self) |
curve_ccd_evaluator_t
Inheritance
Extends: ccd_evaluator_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
a | class(curve_object) | pointer | |
b | class(curve_object) | pointer | |
a0 | type(rigid_pose_2d_t) | ||
a1 | type(rigid_pose_2d_t) | ||
b0 | type(rigid_pose_2d_t) | ||
b1 | type(rigid_pose_2d_t) | ||
pa | real(kind=R8P) | ||
pb | real(kind=R8P) | ||
sa | integer(kind=I4P) | ||
sb | integer(kind=I4P) | ||
tha | real(kind=R8P) | ||
thb | real(kind=R8P) | ||
dta | real(kind=R8P) | ||
dtb | real(kind=R8P) | ||
pairs | integer(kind=I4P) |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
distance | pass(self) | |
safe_step | pass(self) |
curve_evaluator_t
Inheritance
Extends: deviation_evaluator_2d_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
curve | type(curve_object) | pointer | |
device | logical |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
eval | pass(self) |
Subroutines
distance_to
subroutine distance_to(self, other, distance, point_self, point_other, segment_self, segment_other, intersecting, status, pose_self, pose_other)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
other | class(curve_object) | in | ||
distance | real(kind=R8P) | out | ||
point_self | real(kind=R8P) | out | optional | |
point_other | real(kind=R8P) | out | optional | |
segment_self | integer(kind=I4P) | out | optional | |
segment_other | integer(kind=I4P) | out | optional | |
intersecting | logical | out | optional | |
status | integer(kind=I4P) | out | optional | |
pose_self | type(rigid_pose_2d_t) | in | optional | |
pose_other | type(rigid_pose_2d_t) | in | optional |
Call graph
time_of_impact
subroutine time_of_impact(self, other, pose_self0, pose_self1, pose_other0, pose_other1, toi, status, tolerance, distance, point_self, point_other, segment_self, segment_other, iterations, max_iterations, directional, pairs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | target | |
other | class(curve_object) | in | target | |
pose_self0 | type(rigid_pose_2d_t) | in | ||
pose_self1 | type(rigid_pose_2d_t) | in | ||
pose_other0 | type(rigid_pose_2d_t) | in | ||
pose_other1 | type(rigid_pose_2d_t) | in | ||
toi | real(kind=R8P) | out | ||
status | integer(kind=I4P) | out | ||
tolerance | real(kind=R8P) | in | optional | |
distance | real(kind=R8P) | out | optional | |
point_self | real(kind=R8P) | out | optional | |
point_other | real(kind=R8P) | out | optional | |
segment_self | integer(kind=I4P) | out | optional | |
segment_other | integer(kind=I4P) | out | optional | |
iterations | integer(kind=I4P) | out | optional | |
max_iterations | integer(kind=I4P) | in | optional | |
directional | logical | in | optional | |
pairs | integer(kind=I4P) | out | optional |
Call graph
first_impact_2d
subroutine first_impact_2d(curves, poses0, poses1, toi, pair, status, tolerance, directional, tested)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
curves | type(curve_object) | in | target | |
poses0 | type(rigid_pose_2d_t) | in | ||
poses1 | type(rigid_pose_2d_t) | in | ||
toi | real(kind=R8P) | out | ||
pair | integer(kind=I4P) | out | ||
status | integer(kind=I4P) | out | ||
tolerance | real(kind=R8P) | in | optional | |
directional | logical | in | optional | |
tested | integer(kind=I4P) | out | optional |
Call graph
segment_pair
subroutine segment_pair(a0, a1, b0, b1, d2, pa, pb, meet)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a0 | real(kind=R8P) | in | ||
a1 | real(kind=R8P) | in | ||
b0 | real(kind=R8P) | in | ||
b1 | real(kind=R8P) | in | ||
d2 | real(kind=R8P) | out | ||
pa | real(kind=R8P) | out | ||
pb | real(kind=R8P) | out | ||
meet | logical | out |
Call graph
set_patch
subroutine set_patch(self, segments, name)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | ||
segments | integer(kind=I4P) | in | ||
name | character(len=*) | in |
Call graph
adopt_loops
subroutine adopt_loops(self, u, v, loop_sizes, normal_axis, closed, status, patches, patch_names)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | ||
u | real(kind=R8P) | in | ||
v | real(kind=R8P) | in | ||
loop_sizes | integer(kind=I4P) | in | ||
normal_axis | integer(kind=I4P) | in | optional | |
closed | logical | in | optional | |
status | integer(kind=I4P) | out | optional | |
patches | integer(kind=I4P) | in | optional | |
patch_names | character(len=*) | in | optional |
Call graph
box_classify_many
subroutine box_classify_many(self, lo, hi, codes, radius, sign_algorithm, inside, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
codes | integer(kind=I4P) | out | ||
radius | real(kind=R8P) | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
inside | logical | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
box_classify_many_device
subroutine box_classify_many_device(self, lo, hi, codes, radius, sign_algorithm, inside, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | target | |
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
codes | integer(kind=I4P) | out | ||
radius | real(kind=R8P) | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
inside | logical | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
tag_block
subroutine tag_block(self, x, y, band, tags, sign_algorithm, status, feature_band, feature_tags, feature_angle, thin_factor, thin_band, thin_tags)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
band | integer(kind=I4P) | in | ||
tags | integer(kind=I4P) | out | ||
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
feature_band | integer(kind=I4P) | in | optional | |
feature_tags | integer(kind=I4P) | out | optional | |
feature_angle | real(kind=R8P) | in | optional | |
thin_factor | real(kind=R8P) | in | optional | |
thin_band | integer(kind=I4P) | in | optional | |
thin_tags | integer(kind=I4P) | out | optional |
Call graph
curve_thickness
subroutine curve_thickness(self, thickness, gap, method, cone_angle, rays, invalid, status, separation_angle)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
thickness | real(kind=R8P) | out | allocatable, optional | |
gap | real(kind=R8P) | out | allocatable, optional | |
method | integer(kind=I4P) | in | optional | |
cone_angle | real(kind=R8P) | in | optional | |
rays | integer(kind=I4P) | in | optional | |
invalid | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
separation_angle | real(kind=R8P) | in | optional |
Call graph
ray_first_2d
subroutine ray_first_2d(self, o, d, excl, t, hs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
o | real(kind=R8P) | in | ||
d | real(kind=R8P) | in | ||
excl | integer(kind=I4P) | in | ||
t | real(kind=R8P) | out | ||
hs | integer(kind=I4P) | out |
curve_thin_regions
subroutine curve_thin_regions(self, thickness, gap, h, factor, region, region_length, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
thickness | real(kind=R8P) | in | optional | |
gap | real(kind=R8P) | in | optional | |
h | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
region | integer(kind=I4P) | out | allocatable | |
region_length | real(kind=R8P) | out | allocatable | |
status | integer(kind=I4P) | out | optional |
Call graph
curve_build_thin
subroutine curve_build_thin(self, thickness, gap, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | ||
thickness | real(kind=R8P) | in | optional | |
gap | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
curve_drop_thin
subroutine curve_drop_thin(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | inout |
Call graph
curve_box_thin_many
subroutine curve_box_thin_many(self, lo, hi, factor, touched, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
touched | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
curve_box_thin_many_device
subroutine curve_box_thin_many_device(self, lo, hi, factor, touched, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | target | |
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in | ||
factor | real(kind=R8P) | in | ||
touched | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
line_crossings
subroutine line_crossings(self, axis, a, t0, t1, t, segments, entering, n, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | allocatable | |
segments | integer(kind=I4P) | out | allocatable | |
entering | logical | out | allocatable | |
n | integer(kind=I4P) | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
cell_wall_fractions
subroutine cell_wall_fractions(self, x, y, frac, inside, bad_lines, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
frac | real(kind=R8P) | out | ||
inside | logical | out | ||
bad_lines | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
cut_cells
subroutine cut_cells(self, x, y, cut, status, intervals, moments_order, boundaries, quadrature)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
cut | type(cut_cells_2d_t) | out | ||
status | integer(kind=I4P) | out | optional | |
intervals | logical | in | optional | |
moments_order | integer(kind=I4P) | in | optional | |
boundaries | logical | in | optional | |
quadrature | logical | in | optional |
Call graph
line_crossings_many
subroutine line_crossings_many(self, axis, a, t0, t1, t, segments, entering, counts, overflow, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | ||
segments | integer(kind=I4P) | out | ||
entering | logical | out | ||
counts | integer(kind=I4P) | out | ||
overflow | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
line_crossings_many_device
subroutine line_crossings_many_device(self, axis, a, t0, t1, t, segments, entering, counts, overflow, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | target | |
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | ||
segments | integer(kind=I4P) | out | ||
entering | logical | out | ||
counts | integer(kind=I4P) | out | ||
overflow | logical | out | ||
status | integer(kind=I4P) | out | optional |
Call graph
distance_many
Attributes: recursive
subroutine distance_many(self, points, distances, is_signed, sign_algorithm, status, pose)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_2d_t) | in | optional |
Call graph
distance_many_device
Attributes: recursive
subroutine distance_many_device(self, points, distances, is_signed, sign_algorithm, status, pose)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | target | |
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_2d_t) | in | optional |
Call graph
query_many
Attributes: recursive
subroutine query_many(self, points, distances, closest_points, segments, vertices, normals, bodies, is_signed, sign_algorithm, ambiguous, second_foot_points, rel_tolerance, foot_tolerance, status, pose, curvatures, feature_distances, feature_angle, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
closest_points | real(kind=R8P) | out | optional | |
segments | integer(kind=I4P) | out | optional | |
vertices | integer(kind=I4P) | out | optional | |
normals | real(kind=R8P) | out | optional | |
bodies | integer(kind=I4P) | out | optional | |
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
ambiguous | logical | out | optional | |
second_foot_points | real(kind=R8P) | out | optional | |
rel_tolerance | real(kind=R8P) | in | optional | |
foot_tolerance | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_2d_t) | in | optional | |
curvatures | real(kind=R8P) | out | optional | |
feature_distances | real(kind=R8P) | out | optional | |
feature_angle | real(kind=R8P) | in | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
curve_markers
subroutine curve_markers(self, dx, centroids, lengths, normals, spacing_fraction, spacings, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
dx | real(kind=R8P) | in | ||
centroids | real(kind=R8P) | out | allocatable | |
lengths | real(kind=R8P) | out | allocatable | |
normals | real(kind=R8P) | out | allocatable | |
spacing_fraction | real(kind=R8P) | out | optional | |
spacings | real(kind=R8P) | out | allocatable, optional | |
status | integer(kind=I4P) | out | optional |
query_many_device
Attributes: recursive
subroutine query_many_device(self, points, distances, closest_points, segments, vertices, normals, bodies, is_signed, sign_algorithm, status, pose, feature_distances, feature_angle, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | target | |
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
closest_points | real(kind=R8P) | out | optional | |
segments | integer(kind=I4P) | out | optional | |
vertices | integer(kind=I4P) | out | optional | |
normals | real(kind=R8P) | out | optional | |
bodies | integer(kind=I4P) | out | optional | |
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
pose | type(rigid_pose_2d_t) | in | optional | |
feature_distances | real(kind=R8P) | out | optional | |
feature_angle | real(kind=R8P) | in | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
probe_many
subroutine probe_many(self, points, lengths, probe_points, visible, foot_points, normals, status, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
points | real(kind=R8P) | in | ||
lengths | real(kind=R8P) | in | ||
probe_points | real(kind=R8P) | out | ||
visible | logical | out | ||
foot_points | real(kind=R8P) | out | optional | |
normals | real(kind=R8P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
image_points
subroutine image_points(self, points, images, visible, foot_points, status, patches)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
points | real(kind=R8P) | in | ||
images | real(kind=R8P) | out | ||
visible | logical | out | optional | |
foot_points | real(kind=R8P) | out | optional | |
status | integer(kind=I4P) | out | optional | |
patches | integer(kind=I4P) | out | optional |
Call graph
enter_device
subroutine enter_device(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout |
Call graph
exit_device
subroutine exit_device(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout |
Call graph
destroy
Attributes: elemental
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout |
Call graph
get_loop_range
Attributes: pure
subroutine get_loop_range(self, l, first, last)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
l | integer(kind=I4P) | in | ||
first | integer(kind=I4P) | out | ||
last | integer(kind=I4P) | out |
Call graph
compute_distance
Attributes: pure
subroutine compute_distance(self, p, distance, closest_point, closest_segment, closest_vertex, is_signed, use_brute_force, sign_algorithm, normal, body)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
p | real(kind=R8P) | in | ||
distance | real(kind=R8P) | out | ||
closest_point | real(kind=R8P) | out | optional | |
closest_segment | integer(kind=I4P) | out | optional | |
closest_vertex | integer(kind=I4P) | out | optional | |
is_signed | logical | in | optional | |
use_brute_force | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
normal | real(kind=R8P) | out | optional | |
body | integer(kind=I4P) | out | optional |
Call graph
deviation
subroutine deviation(self, other, lower, upper, mean, rms, per_vertex, tolerance, samples_per_length, max_segments, samples, created, device, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
other | type(curve_object) | in | target | |
lower | real(kind=R8P) | out | optional | |
upper | real(kind=R8P) | out | optional | |
mean | real(kind=R8P) | out | optional | |
rms | real(kind=R8P) | out | optional | |
per_vertex | real(kind=R8P) | out | allocatable, optional | |
tolerance | real(kind=R8P) | in | optional | |
samples_per_length | real(kind=R8P) | in | optional | |
max_segments | integer(kind=I4P) | in | optional | |
samples | integer(kind=I4P) | out | optional | |
created | integer(kind=I4P) | out | optional | |
device | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
hausdorff
subroutine hausdorff(self, other, lower, upper, tolerance, samples_per_length, max_segments, device, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
other | type(curve_object) | in | ||
lower | real(kind=R8P) | out | optional | |
upper | real(kind=R8P) | out | optional | |
tolerance | real(kind=R8P) | in | optional | |
samples_per_length | real(kind=R8P) | in | optional | |
max_segments | integer(kind=I4P) | in | optional | |
device | logical | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
feature_corners
subroutine feature_corners(self, corners, angle, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
corners | integer(kind=I4P) | out | allocatable | |
angle | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
corner_distances
subroutine corner_distances(self, points, angle, d, device)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
points | real(kind=R8P) | in | ||
angle | real(kind=R8P) | in | optional | |
d | real(kind=R8P) | out | ||
device | logical | in | optional |
Call graph
curve_evaluator_eval
subroutine curve_evaluator_eval(self, points, distances, closest, segments)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_evaluator_t) | in | ||
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
closest | real(kind=R8P) | out | ||
segments | integer(kind=I4P) | out |
Call graph
curve_ccd_distance
subroutine curve_ccd_distance(self, s, d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_ccd_evaluator_t) | inout | ||
s | real(kind=R8P) | in | ||
d | real(kind=R8P) | out |
Call graph
curve_ccd_safe_step
subroutine curve_ccd_safe_step(self, s, tolerance, cap, step)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_ccd_evaluator_t) | inout | ||
s | real(kind=R8P) | in | ||
tolerance | real(kind=R8P) | in | ||
cap | real(kind=R8P) | in | ||
step | real(kind=R8P) | out |
Call graph
load_from_file
subroutine load_from_file(self, file_name, normal_axis, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | ||
file_name | character(len=*) | in | ||
normal_axis | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
mass_properties
subroutine mass_properties(self, mass, center, second_moments, polar_moment, principal_moments, principal_angle, density, about, area, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
mass | real(kind=R8P) | out | optional | |
center | real(kind=R8P) | out | optional | |
second_moments | real(kind=R8P) | out | optional | |
polar_moment | real(kind=R8P) | out | optional | |
principal_moments | real(kind=R8P) | out | optional | |
principal_angle | real(kind=R8P) | out | optional | |
density | real(kind=R8P) | in | optional | |
about | real(kind=R8P) | in | optional | |
area | real(kind=R8P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
repair
subroutine repair(self, tolerance, gaps_closed, vertices_merged, loops_removed, loops_reversed, loops_open)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | ||
tolerance | real(kind=R8P) | in | ||
gaps_closed | integer(kind=I4P) | out | optional | |
vertices_merged | integer(kind=I4P) | out | optional | |
loops_removed | integer(kind=I4P) | out | optional | |
loops_reversed | integer(kind=I4P) | out | optional | |
loops_open | integer(kind=I4P) | out | optional |
Call graph
save_into_file
subroutine save_into_file(self, file_name, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
file_name | character(len=*) | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
self_intersections
Attributes: pure
subroutine self_intersections(self, pairs, n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
pairs | integer(kind=I4P) | inout | allocatable | |
n | integer(kind=I4P) | out |
Call graph
wall_distance_many
subroutine wall_distance_many(self, points, distances, bodies, cutoff, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | out | ||
bodies | integer(kind=I4P) | out | ||
cutoff | real(kind=R8P) | in | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
state_changes
subroutine state_changes(self, pose0, pose1, points, fresh, dead, sign_algorithm, checked, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
pose0 | type(rigid_pose_2d_t) | in | ||
pose1 | type(rigid_pose_2d_t) | in | ||
points | real(kind=R8P) | in | ||
fresh | logical | out | ||
dead | logical | out | ||
sign_algorithm | integer(kind=I4P) | in | optional | |
checked | integer(kind=I4P) | out | optional | |
status | integer(kind=I4P) | out | optional |
Call graph
move
subroutine move(self, pose)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout | ||
pose | type(rigid_pose_2d_t) | in |
Call graph
curve_metrics
Attributes: pure
subroutine curve_metrics(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | inout |
Call graph
analyze
Attributes: pure
subroutine analyze(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | inout |
Call graph
compute_bodies
Attributes: pure
subroutine compute_bodies(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | inout |
Call graph
curve_query_oac
Attributes: pure
subroutine curve_query_oac(lo_u, lo_v, hi_u, hi_v, left, right, first, last, a_u, a_v, d_u, d_v, len2, seg_id, next, u, v, pn_u, pn_v, seg_nu, seg_nv, vbody, wn_cu, wn_cv, wn_du, wn_dv, wn_c, wn_diag2, pu, pv, signed, fwn, d, cpu, cpv, sg, vx, nu, nv, b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
lo_u | real(kind=R8P) | in | ||
lo_v | real(kind=R8P) | in | ||
hi_u | real(kind=R8P) | in | ||
hi_v | real(kind=R8P) | in | ||
left | integer(kind=I4P) | in | ||
right | integer(kind=I4P) | in | ||
first | integer(kind=I4P) | in | ||
last | integer(kind=I4P) | in | ||
a_u | real(kind=R8P) | in | ||
a_v | real(kind=R8P) | in | ||
d_u | real(kind=R8P) | in | ||
d_v | real(kind=R8P) | in | ||
len2 | real(kind=R8P) | in | ||
seg_id | integer(kind=I4P) | in | ||
next | integer(kind=I4P) | in | ||
u | real(kind=R8P) | in | ||
v | real(kind=R8P) | in | ||
pn_u | real(kind=R8P) | in | ||
pn_v | real(kind=R8P) | in | ||
seg_nu | real(kind=R8P) | in | ||
seg_nv | real(kind=R8P) | in | ||
vbody | integer(kind=I4P) | in | ||
wn_cu | real(kind=R8P) | in | ||
wn_cv | real(kind=R8P) | in | ||
wn_du | real(kind=R8P) | in | ||
wn_dv | real(kind=R8P) | in | ||
wn_c | real(kind=R8P) | in | ||
wn_diag2 | real(kind=R8P) | in | ||
pu | real(kind=R8P) | in | ||
pv | real(kind=R8P) | in | ||
signed | logical | in | ||
fwn | logical | in | ||
d | real(kind=R8P) | out | ||
cpu | real(kind=R8P) | out | ||
cpv | real(kind=R8P) | out | ||
sg | integer(kind=I4P) | out | ||
vx | integer(kind=I4P) | out | ||
nu | real(kind=R8P) | out | ||
nv | real(kind=R8P) | out | ||
b | integer(kind=I4P) | out |
Call graph
second_foot_2d
Attributes: pure
subroutine second_foot_2d(self, p, cp1, d1, rel, foot_tol, found, cp2)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
p | real(kind=R8P) | in | ||
cp1 | real(kind=R8P) | in | ||
d1 | real(kind=R8P) | in | ||
rel | real(kind=R8P) | in | ||
foot_tol | real(kind=R8P) | in | ||
found | logical | out | ||
cp2 | real(kind=R8P) | out |
Call graph
curve_crossings_core
subroutine curve_crossings_core(self, axis, a, t0, t1, t, ids, es, n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | out | allocatable | |
ids | integer(kind=I4P) | out | allocatable | |
es | logical | out | allocatable | |
n | integer(kind=I4P) | out |
Call graph
Functions
get_patches_number
Attributes: pure
Returns: integer(kind=I4P)
function get_patches_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
patch_name
Attributes: pure
Returns: character(len=:)
function patch_name(self, i) result(name)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
segment_patch
Attributes: elemental
Returns: integer(kind=I4P)
function segment_patch(self, i) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
box_intersects_curve
Attributes: pure
Returns: logical
function box_intersects_curve(self, lo, hi) result(cut)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
lo | real(kind=R8P) | in | ||
hi | real(kind=R8P) | in |
Call graph
vertex_curvature
Attributes: pure
Returns: real(kind=R8P)
function vertex_curvature(self, i) result(kappa)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
foot_curvature_2d
Attributes: pure
Returns: real(kind=R8P)
function foot_curvature_2d(self, sg, cp) result(kappa)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
sg | integer(kind=I4P) | in | ||
cp | real(kind=R8P) | in |
Call graph
check_validity
Returns: integer(kind=I4P)
function check_validity(self, loop, check_self_intersections) result(defect)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
loop | integer(kind=I4P) | out | optional | |
check_self_intersections | logical | in | optional |
Call graph
get_area
Attributes: pure
Returns: real(kind=R8P)
function get_area(self) result(a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
get_bmax
Attributes: pure
Returns: real(kind=R8P)
function get_bmax(self) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
get_bmin
Attributes: pure
Returns: real(kind=R8P)
function get_bmin(self) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
get_centroid
Attributes: pure
Returns: real(kind=R8P)
function get_centroid(self) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
get_bodies_number
Attributes: pure
Returns: integer(kind=I4P)
function get_bodies_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
loop_body
Attributes: pure
Returns: integer(kind=I4P)
function loop_body(self, l) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
l | integer(kind=I4P) | in |
get_is_on_device
Attributes: pure
Returns: logical
function get_is_on_device(self) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
get_loop_area
Attributes: pure
Returns: real(kind=R8P)
function get_loop_area(self, l) result(a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
l | integer(kind=I4P) | in |
get_loops_number
Attributes: pure
Returns: integer(kind=I4P)
function get_loops_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
get_normal_axis
Attributes: pure
Returns: integer(kind=I4P)
function get_normal_axis(self) result(axis)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
get_perimeter
Attributes: pure
Returns: real(kind=R8P)
function get_perimeter(self) result(p)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
get_vertex
Attributes: pure
Returns: real(kind=R8P)
function get_vertex(self, i) result(uv)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
get_next
Attributes: pure
Returns: integer(kind=I4P)
function get_next(self, i) result(j)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
i | integer(kind=I4P) | in |
Call graph
get_vertices_number
Attributes: pure
Returns: integer(kind=I4P)
function get_vertices_number(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in |
Call graph
distance
Attributes: pure
Returns: real(kind=R8P)
function distance(self, p, is_signed, sign_algorithm) result(d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
p | real(kind=R8P) | in | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional |
Call graph
is_loop_closed
Attributes: pure
Returns: logical
function is_loop_closed(self, l) result(closed)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
l | integer(kind=I4P) | in |
Call graph
is_point_inside
Attributes: pure, recursive
Returns: logical
function is_point_inside(self, p, sign_algorithm, pose) result(inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
p | real(kind=R8P) | in | ||
sign_algorithm | integer(kind=I4P) | in | optional | |
pose | type(rigid_pose_2d_t) | in | optional |
Call graph
winding_number
Attributes: pure
Returns: real(kind=R8P)
function winding_number(self, p, use_brute_force, beta) result(w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
p | real(kind=R8P) | in | ||
use_brute_force | logical | in | optional | |
beta | real(kind=R8P) | in | optional |
Call graph
nesting_depth
Attributes: pure
Returns: integer(kind=I4P)
function nesting_depth(self, l) result(depth)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
l | integer(kind=I4P) | in |
Call graph
winding_number_exact
Attributes: pure
Returns: integer(kind=I4P)
function winding_number_exact(self, p) result(w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(curve_object) | in | ||
p | real(kind=R8P) | in |
Call graph
loop_winding
Attributes: pure
Returns: integer(kind=I4P)
function loop_winding(self, l, pu, pv) result(w)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
l | integer(kind=I4P) | in | ||
pu | real(kind=R8P) | in | ||
pv | real(kind=R8P) | in |
Call graph
shoelace
Attributes: pure
Returns: real(kind=R8P)
function shoelace(u, v) result(a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
u | real(kind=R8P) | in | ||
v | real(kind=R8P) | in |
Call graph
curve_signed_distance_oac
Attributes: pure
Returns: real(kind=R8P)
function curve_signed_distance_oac(lo_u, lo_v, hi_u, hi_v, left, right, first, last, a_u, a_v, d_u, d_v, len2, seg_id, next, u, v, pn_u, pn_v, wn_cu, wn_cv, wn_du, wn_dv, wn_c, wn_diag2, pu, pv, signed, fwn) result(d)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
lo_u | real(kind=R8P) | in | ||
lo_v | real(kind=R8P) | in | ||
hi_u | real(kind=R8P) | in | ||
hi_v | real(kind=R8P) | in | ||
left | integer(kind=I4P) | in | ||
right | integer(kind=I4P) | in | ||
first | integer(kind=I4P) | in | ||
last | integer(kind=I4P) | in | ||
a_u | real(kind=R8P) | in | ||
a_v | real(kind=R8P) | in | ||
d_u | real(kind=R8P) | in | ||
d_v | real(kind=R8P) | in | ||
len2 | real(kind=R8P) | in | ||
seg_id | integer(kind=I4P) | in | ||
next | integer(kind=I4P) | in | ||
u | real(kind=R8P) | in | ||
v | real(kind=R8P) | in | ||
pn_u | real(kind=R8P) | in | ||
pn_v | real(kind=R8P) | in | ||
wn_cu | real(kind=R8P) | in | ||
wn_cv | real(kind=R8P) | in | ||
wn_du | real(kind=R8P) | in | ||
wn_dv | real(kind=R8P) | in | ||
wn_c | real(kind=R8P) | in | ||
wn_diag2 | real(kind=R8P) | in | ||
pu | real(kind=R8P) | in | ||
pv | real(kind=R8P) | in | ||
signed | logical | in | ||
fwn | logical | in |
Call graph
path_clear
Attributes: pure
Returns: logical
function path_clear(self, a, b, sg, vx) result(clear)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
sg | integer(kind=I4P) | in | ||
vx | integer(kind=I4P) | in |
Call graph
rich_sizes_ok
Attributes: pure
Returns: logical
function rich_sizes_ok(n, closest_points, segments, vertices, normals, bodies, patches) result(good)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
n | integer(kind=I4P) | in | ||
closest_points | real(kind=R8P) | in | optional | |
segments | integer(kind=I4P) | in | optional | |
vertices | integer(kind=I4P) | in | optional | |
normals | real(kind=R8P) | in | optional | |
bodies | integer(kind=I4P) | in | optional | |
patches | integer(kind=I4P) | in | optional |
Call graph
curve_many_ok
Returns: logical
function curve_many_ok(self, axis, a, t0, t1, t, segments, entering, counts, overflow, status) result(good)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
t0 | real(kind=R8P) | in | ||
t1 | real(kind=R8P) | in | ||
t | real(kind=R8P) | inout | ||
segments | integer(kind=I4P) | inout | ||
entering | logical | inout | ||
counts | integer(kind=I4P) | inout | ||
overflow | logical | inout | ||
status | integer(kind=I4P) | out | optional |
Call graph
body_points2
Attributes: pure
Returns: real(kind=R8P)
function body_points2(pose, points) result(bp)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pose | type(rigid_pose_2d_t) | in | ||
points | real(kind=R8P) | in |
Call graph
resolve_batch_options
Returns: logical
function resolve_batch_options(self, points, distances, is_signed, sign_algorithm, status, signed, fwn) result(good)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(curve_object) | in | ||
points | real(kind=R8P) | in | ||
distances | real(kind=R8P) | in | ||
is_signed | logical | in | optional | |
sign_algorithm | integer(kind=I4P) | in | optional | |
status | integer(kind=I4P) | out | optional | |
signed | logical | out | ||
fwn | logical | out |
Call graph
segments_intersect
Attributes: pure
Returns: logical
function segments_intersect(p1u, p1v, p2u, p2v, q1u, q1v, q2u, q2v) result(hit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p1u | real(kind=R8P) | in | ||
p1v | real(kind=R8P) | in | ||
p2u | real(kind=R8P) | in | ||
p2v | real(kind=R8P) | in | ||
q1u | real(kind=R8P) | in | ||
q1v | real(kind=R8P) | in | ||
q2u | real(kind=R8P) | in | ||
q2v | real(kind=R8P) | in |
Call graph
folds_back
Attributes: pure
Returns: logical
function folds_back(au, av, bu, bv, cu, cv) result(hit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
au | real(kind=R8P) | in | ||
av | real(kind=R8P) | in | ||
bu | real(kind=R8P) | in | ||
bv | real(kind=R8P) | in | ||
cu | real(kind=R8P) | in | ||
cv | real(kind=R8P) | in |
Call graph
opposite
Attributes: pure
Returns: logical
function opposite(a, b) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in |
Call graph
on_box
Attributes: pure
Returns: logical
function on_box(pu, pv, au, av, bu, bv) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pu | real(kind=R8P) | in | ||
pv | real(kind=R8P) | in | ||
au | real(kind=R8P) | in | ||
av | real(kind=R8P) | in | ||
bu | real(kind=R8P) | in | ||
bv | real(kind=R8P) | in |
Call graph