Struct riscan_pro::Point [] [src]

pub struct Point<C: CoordinateReferenceSystem> { /* fields omitted */ }

A three-dimensional point.

Methods

impl Point<Glcs>
[src]

[src]

Returns a point in the global coordinate system.

Examples

use riscan_pro::Point;
let glcs = Point::glcs(1., 2., 3.);

[src]

Converts this glcs point to prcs.

Examples

use riscan_pro::{Point, Project};
let project = Project::from_path("data/project.RiSCAN").unwrap();
let prcs = Point::glcs(1., 2., 3.).to_prcs(project.pop);

impl Point<Prcs>
[src]

[src]

Returns a point in the project's coordinate system.

Examples

use riscan_pro::Point;
let prcs = Point::prcs(1., 2., 3.);

[src]

Converts this point to the global coordinate system.

Examples

use riscan_pro::{Point, Project};
let project = Project::from_path("data/project.RiSCAN").unwrap();
let glcs = Point::prcs(1., 2., 3.).to_glcs(project.pop);

[src]

Converts this prcs point to socs.

Examples

use riscan_pro::{Point, Project};
let scan_position = Project::from_path("data/project.RiSCAN")
    .unwrap()
    .scan_positions
    .get("SP01")
    .unwrap()
    .clone();
let socs = Point::prcs(1., 2., 3.).to_socs(scan_position.sop);

impl Point<Socs>
[src]

[src]

Returns a point in the scanner's own coordinate system.

Examples

use riscan_pro::Point;
let socs = Point::socs(1., 2., 3.);

[src]

Converts this socs point to the project coordinate system.

Examples

use riscan_pro::{Point, Project};
let scan_position = Project::from_path("data/project.RiSCAN")
    .unwrap()
    .scan_positions
    .get("SP01")
    .unwrap()
    .clone();
let prcs = Point::socs(1., 2., 3.).to_prcs(scan_position.sop);

[src]

Converts this socs point to cmcs.

Examples

use riscan_pro::{Point, Project};
let project = Project::from_path("data/project.RiSCAN").unwrap();
let image = project.scan_positions
    .get("SP01")
    .unwrap()
    .images
    .get("SP01 - Image001")
    .unwrap();
let mount_calibration = image.mount_calibration(&project).unwrap();
let cmcs = Point::socs(1., 2., 3.).to_cmcs(image.cop, &mount_calibration);

impl Point<Cmcs>
[src]

[src]

Returns a point in the camera's coordinate system.

Examples

use riscan_pro::Point;
let cmcs = Point::cmcs(1., 2., 3.);

[src]

Converts this cmcs point to socs.

Examples

use riscan_pro::{Point, Project};
let project = Project::from_path("data/project.RiSCAN").unwrap();
let image = project.scan_positions
    .get("SP01")
    .unwrap()
    .images
    .get("SP01 - Image001")
    .unwrap();
let mount_calibration = image.mount_calibration(&project).unwrap();
let socs = Point::cmcs(1., 2., 3.).to_socs(image.cop, &mount_calibration);

[src]

Is this point behind the camera?

Examples

use riscan_pro::Point;
assert!(!Point::cmcs(1., 2., 3.).is_behind_camera());
assert!(Point::cmcs(1., 2., -3.).is_behind_camera());

[src]

Returns the horizontal tangent of this point.

The horizontal tangent is the tangent of the angle of the point, as projected to the yz plane, to the z axis, i.e. y / z.

Examples

use riscan_pro::Point;
assert_eq!(2., Point::cmcs(3., 2., 1.).tan_horz());

[src]

Returns the vertical tangent of this point.

The vertical tangent is the tangent of the angle of the point, as projected to the xz plane, to the z axis, i.e. x / z.

Examples

use riscan_pro::Point;
assert_eq!(3., Point::cmcs(3., 2., 1.).tan_vert());

Trait Implementations

impl<C: Clone + CoordinateReferenceSystem> Clone for Point<C>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<C: Copy + CoordinateReferenceSystem> Copy for Point<C>
[src]

impl<C: Debug + CoordinateReferenceSystem> Debug for Point<C>
[src]

[src]

Formats the value using the given formatter.

impl<C: CoordinateReferenceSystem> From<Point3<f64>> for Point<C>
[src]

[src]

Performs the conversion.

impl<C: CoordinateReferenceSystem> Deref for Point<C>
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.

impl<C: CoordinateReferenceSystem> PartialEq<Point<C>> for Point<C>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

1.0.0
[src]

This method tests for !=.