pub fn unit_vector(&self) -> LineF {
        let (obj_data, funcs) = self.get_line_f_obj_funcs();
        unsafe {
            let ret_val = ((*funcs).unit_vector)(obj_data);
            let t = ret_val;
            let ret_val;
            if t.host_data != ::std::ptr::null() {
                ret_val = LineF::new_from_rc(t);
            } else {
                ret_val = LineF::new_from_owned(t);
            }
            ret_val
        }
    }
///
/// Returns the unit vector for this line, i.e a line starting at the
/// same point as *this* line with a length of 1.0.
///
/// **See also:** [`normal_vector()`]
Returns the unit vector for this line, i.e a line starting at the
same point as *this* line with a length of 1.0.


Returns the unit vector for this line i . e a line starting at the same point as * this * line with a length of 1 . 0 .
pub fn unit_vector(&self) -> LineF {
        let (obj_data, funcs) = self.get_line_f_obj_funcs();
        unsafe {
            let ret_val = ((*funcs).unit_vector)(obj_data);
            let t = ret_val;
            let ret_val;
            if t.host_data != ::std::ptr::null() {
                ret_val = LineF::new_from_rc(t);
            } else {
                ret_val = LineF::new_from_owned(t);
            }
            ret_val
        }
    }
pub fn unit_vector ( & self ) -> LineF { let ( obj_data , funcs ) = self . get_line_f_obj_funcs ( ) ; unsafe { let ret_val = ( ( * funcs ) . unit_vector ) ( obj_data ) ; let t = ret_val ; let ret_val ; if t . host_data != :: std :: ptr :: null ( ) { ret_val = LineF :: new_from_rc ( t ) ; } else { ret_val = LineF :: new_from_owned ( t ) ; } ret_val } }
Returns the unit vector for this line, i.e a line starting at the
same point as *this* line with a length of 1.0.
Returns the unit vector for this line i . e a line starting at the same point as * this * line with a length of 1 . 0 .
&self
&self