The base of the trajectory artists (OpenFrames' TrajectoryArtist).
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(ReferenceFrame), | private, | pointer | :: | data_frame | => | null() |
the frame the data are in (null: shown_in's) |
| logical, | private | :: | pickable_ | = | .true. |
picked (pick) |
|
| class(ReferenceFrame), | private, | pointer | :: | seen_data_frame | => | null() |
the data frame drawn for |
| integer, | private | :: | seen_generation | = | -1 |
trajectory generation and revision drawn (-1: none) |
|
| integer, | private | :: | seen_motion(4) | = | -1 |
both frames' motion keys drawn for (-1: not transformed) |
|
| integer, | private | :: | seen_revision | = | -1 |
trajectory generation and revision drawn (-1: none) |
|
| class(ReferenceFrame), | private, | pointer | :: | shown_in | => | null() |
the DrawableTrajectory drawing it (its points' coordinates) |
| logical, | private | :: | trace | = | .false. |
trace mode: drawn up to the current time |
|
| type(Trajectory), | private, | pointer | :: | traj | => | null() |
the trajectory drawn (not owned; null if none) |
Create the artist's render nodes under group. viewer (may be
null) compiles the nodes it creates later.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self | |||
| type(c_ptr), | intent(in) | :: | viewer |
compiles nodes made later (may be null); the parent group |
||
| type(c_ptr), | intent(in) | :: | group |
compiles nodes made later (may be null); the parent group |
The trajectory drawn (null if none).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(in) | :: | self |
Whether pick tests what this artist draws.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(in) | :: | self |
Forget the render nodes (after the artist's group was removed from the scene): build starts again.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self |
Whether pick tests what this artist draws (default true; e.g. false for a spacecraft's marker beside its orbit's curve).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self | |||
| logical, | intent(in) | :: | pickable |
true: picked (default) |
Draw only the part up to the current time (see the module documentation).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self | |||
| logical, | intent(in) | :: | enabled |
true: draw only up to the current time |
Draw traj (it must stay alive while drawn).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self | |||
| type(Trajectory), | intent(in), | target | :: | traj |
the trajectory to draw (not owned) |
Whether only the part up to the current time is drawn.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(in) | :: | self |
Bring the drawing up to date with the trajectory at simulation time t.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self | |||
| real(kind=wp), | intent(in) | :: | t |
the current time |
type, abstract, public :: TrajectoryArtist private type(Trajectory), pointer :: traj => null() !! the trajectory drawn (not owned; null if none) logical :: trace = .false. !! trace mode: drawn up to the current time logical :: pickable_ = .true. !! picked ([[WindowProxy:pick]]) ! the frames (set by the DrawableTrajectory drawing it, when it updates or picks) class(ReferenceFrame), pointer :: shown_in => null() !! the DrawableTrajectory drawing it (its points' coordinates) class(ReferenceFrame), pointer :: data_frame => null() !! the frame the data are in (null: shown_in's) ! what was drawn integer :: seen_generation = -1, seen_revision = -1 !! trajectory generation and revision drawn (-1: none) integer :: seen_motion(4) = -1 !! both frames' motion keys drawn for (-1: not transformed) class(ReferenceFrame), pointer :: seen_data_frame => null() !! the data frame drawn for contains procedure :: set_trajectory, get_trajectory procedure :: set_trace_mode, trace_mode procedure :: set_pickable => artist_set_pickable, pickable => artist_pickable procedure :: release => artist_release procedure(artist_build), deferred :: build procedure(artist_update), deferred :: update end type TrajectoryArtist