Inkscape
Vector Graphics Editor
|
Two-dimensional point that doubles as a vector. More...
#include <point.h>
Classes | |
struct | LexGreater |
struct | LexGreater< X > |
struct | LexGreater< Y > |
struct | LexGreaterRt |
struct | LexLess |
Lexicographical ordering functor. More... | |
struct | LexLess< X > |
struct | LexLess< Y > |
struct | LexLessRt |
Lexicographical ordering functor with runtime dimension. More... | |
Public Types | |
using | D1Value = Coord |
using | D1Reference = Coord & |
using | D1ConstReference = Coord const & |
Public Member Functions | |
Access the coordinates of a point | |
Coord | operator[] (unsigned i) const |
Coord & | operator[] (unsigned i) |
constexpr Coord | operator[] (Dim2 d) const noexcept |
constexpr Coord & | operator[] (Dim2 d) noexcept |
constexpr Coord | x () const noexcept |
constexpr Coord & | x () noexcept |
constexpr Coord | y () const noexcept |
constexpr Coord & | y () noexcept |
template<size_t I> | |
constexpr Coord | get () const |
template<size_t I> | |
constexpr Coord & | get () |
Vector operations | |
Coord | length () const |
Compute the distance from origin. | |
constexpr Coord | lengthSq () const |
void | normalize () |
Normalize the vector representing the point. | |
Point | normalized () const |
constexpr Point | ccw () const |
Return a point like this point but rotated -90 degrees. | |
constexpr Point | cw () const |
Return a point like this point but rotated +90 degrees. | |
Vector-like arithmetic operations | |
constexpr Point | operator- () const |
constexpr Point & | operator+= (Point const &o) |
constexpr Point & | operator-= (Point const &o) |
constexpr Point & | operator*= (Coord s) |
constexpr Point & | operator*= (Point const &o) |
constexpr Point & | operator*= (IntPoint const &o) |
constexpr Point & | operator/= (Coord s) |
constexpr Point & | operator/= (Point const &o) |
constexpr Point & | operator/= (IntPoint const &o) |
Affine transformations | |
Point & | operator*= (Affine const &m) |
Transform the point by the specified matrix. | |
Point & | operator*= (Translate const &t) |
Point & | operator*= (Scale const &s) |
Point & | operator*= (Rotate const &r) |
Point & | operator*= (HShear const &s) |
Point & | operator*= (VShear const &s) |
Point & | operator*= (Zoom const &z) |
Conversion to integer points | |
IntPoint | round () const |
Round to nearest integer coordinates. | |
IntPoint | floor () const |
Round coordinates downwards. | |
IntPoint | ceil () const |
Round coordinates upwards. | |
Various utilities | |
bool | isFinite () const |
Check whether both coordinates are finite. | |
constexpr bool | isZero () const |
Check whether both coordinates are zero. | |
bool | isNormalized (Coord eps=EPSILON) const |
Check whether the length of the vector is close to 1. | |
constexpr bool | operator== (Point const &p) const |
Equality operator. | |
constexpr bool | operator< (Point const &p) const |
Lexicographical ordering for points. | |
Private Attributes | |
Coord | _pt [2] = { 0, 0 } |
Related Symbols | |
(Note that these are not member symbols.) | |
std::ostream & | operator<< (std::ostream &out, Point const &p) |
Output operator for points. | |
Coord | L2 (Point const &p) |
Compute the second (Euclidean) norm of p. | |
constexpr Coord | L2sq (Point const &p) |
Compute the square of the Euclidean norm of p. | |
constexpr Point | rot90 (Point const &p) |
Returns p * Geom::rotate_degrees(90), but more efficient. | |
Point | lerp (Coord t, Point const &a, Point const &b) |
Linear interpolation between two points. | |
Point | middle_point (Point const &p1, Point const &p2) |
Return a point halfway between the specified ones. | |
constexpr Coord | dot (Point const &a, Point const &b) |
Compute the dot product of a and b. | |
constexpr Coord | cross (Point const &a, Point const &b) |
Compute the 2D cross product. | |
Coord | distance (Point const &a, Point const &b) |
Compute the (Euclidean) distance between points. | |
Coord | distanceSq (Point const &a, Point const &b) |
Compute the square of the distance between points. | |
bool | are_near (Point const &a, Point const &b, double eps=EPSILON) |
Test whether two points are no further apart than some threshold. | |
bool | are_collinear (Point const &p1, Point const &p2, Point const &p3, double eps=EPSILON) |
Test whether three points lie approximately on the same line. | |
Coord | L1 (Point const &p) |
Compute the first norm (Manhattan distance) of p. | |
Coord | LInfty (Point const &p) |
Compute the infinity norm (maximum norm) of p. | |
bool | is_zero (Point const &p) |
True if the point has both coordinates zero. | |
bool | is_unit_vector (Point const &p, Coord eps) |
True if the point has a length near 1. | |
Coord | atan2 (Point const &p) |
Return the angle between the point and the +X axis. | |
Coord | angle_between (Point const &a, Point const &b) |
Compute the angle between a and b relative to the origin. | |
Point | unit_vector (Point const &a) |
Create a normalized version of a point. | |
Point | abs (Point const &b) |
Return the "absolute value" of the point's vector. | |
Point | constrain_angle (Point const &A, Point const &B, unsigned int n, Point const &dir) |
Snap the angle B - A - dir to multiples of \(2\pi/n\). | |
Create points | |
constexpr | Point ()=default |
Construct a point at the origin. | |
constexpr | Point (Coord x, Coord y) |
Construct a point from its coordinates. | |
constexpr | Point (IntPoint const &p) |
Construct from integer point. | |
static Point | polar (Coord angle, Coord radius) |
Construct a point from its polar coordinates. | |
static Point | polar (Coord angle) |
Construct an unit vector from its angle. | |
Two-dimensional point that doubles as a vector.
Points in 2Geom are represented in Cartesian coordinates, e.g. as a pair of numbers that store the X and Y coordinates. Each point is also a vector in \(\mathbb{R}^2\) from the origin (point at 0,0) to the stored coordinates, and has methods implementing several vector operations (like length()).
Most operators are provided by Boost operator helpers, so they are not visible in this class. If p, q, r denote points, s a floating-point scalar, and m a transformation matrix, then the following operations are available:
It is possible to left-multiply a point by a matrix, even though mathematically speaking this is undefined. The result is a point identical to that obtained by right-multiplying.
|
constexprdefault |
Construct a point at the origin.
Referenced by ccw(), cw(), operator-(), and rot90().
Return a point like this point but rotated -90 degrees.
If the y axis grows downwards and the x axis grows to the right, then this is 90 degrees counter-clockwise.
Definition at line 130 of file point.h.
References _pt, Point(), Geom::X, and Geom::Y.
Referenced by Inkscape::UI::Tools::PenTool::_setToNearestHorizVert(), ArcAnglesAndCenter(), avoid_item_poly(), Inkscape::LivePathEffect::LPEParallel::doOnApply(), SweepTree::Find(), SweepTree::Find(), Box3D::Line::Line(), Inkscape::UI::Tools::PenTool::nextParaxialDirection(), Path::Outline(), rot90_rel(), and Box3D::Line::set_direction().
|
inline |
Return a point like this point but rotated +90 degrees.
If the y axis grows downwards and the x axis grows to the right, then this is 90 degrees clockwise.
Definition at line 137 of file point.h.
References _pt, Point(), Geom::X, and Geom::Y.
Referenced by Inkscape::UI::Widget::CanvasGrid::_createGuideItem(), Inkscape::UI::Tools::PenTool::_undoLastPoint(), cells(), Inkscape::Text::Layout::characterBoundingBox(), Geom::Line::coefficients(), dot_plot(), Inkscape::Extension::Internal::PrintEmf::fill(), Inkscape::Extension::Internal::PrintWmf::fill(), Inkscape::LivePathEffect::findShadowedTime(), Geom::Circle::intersect(), Geom::make_orthogonal_line(), Geom::detail::bezier_clipping::orthogonal_orientation_line(), Path::PointToCurvilignPosition(), Geom::touching_circle(), and Geom::touching_circle().
|
inline |
Round coordinates downwards.
Definition at line 206 of file point.h.
References _pt, floor(), Geom::X, and Geom::Y.
Referenced by Inkscape::CanvasItemGuideLine::_render(), Inkscape::UI::Widget::CanvasGrid::_rulerButtonPress(), Inkscape::UI::Tools::ToolBase::checkDragMoved(), floor(), Inkscape::UI::Tools::ToolBase::saveDragOrigin(), Geom::TEST(), and Inkscape::UI::Widget::Canvas::world_point_inside_canvas().
Definition at line 110 of file point.h.
References _pt.
Referenced by Inkscape::Colors::Parser::getCssPrefix(), object_distribute_text(), and sp_selected_path_create_offset_object().
|
inline |
Check whether both coordinates are finite.
Definition at line 218 of file point.h.
References _pt.
Referenced by Inkscape::CanvasItemCtrl::_update(), gr_knot_moved_handler(), Inkscape::UI::Tools::MeasureTool::setLine(), Inkscape::UI::Tools::MeasureTool::showCanvasItems(), Inkscape::UI::Tools::MeasureTool::toGuides(), Inkscape::UI::Tools::MeasureTool::toItem(), Inkscape::UI::Tools::MeasureTool::toMarkDimension(), Inkscape::UI::Tools::MeasureTool::toPhantom(), and KnotHolderEntity::update_knot().
Check whether the length of the vector is close to 1.
Definition at line 231 of file point.h.
References are_near(), length(), and x().
Check whether both coordinates are zero.
Definition at line 227 of file point.h.
References _pt, Geom::X, and Geom::Y.
Referenced by Geom::PlanarGraph< EdgeLabel >::_getAzimuth(), Inkscape::LivePathEffect::endpoints2angles(), and Geom::BezierCurveN< degree >::intersect().
|
inline |
Compute the distance from origin.
Definition at line 118 of file point.h.
References _pt, Geom::X, and Geom::Y.
Referenced by Inkscape::UI::Widget::OKWheel::_discColor(), Inkscape::UI::Widget::OKWheel::_onClick(), Inkscape::CanvasItemGridXY::_render(), Inkscape::UI::Widget::OKWheel::_setColor(), Inkscape::UI::Node::_updateAutoHandles(), Inkscape::UI::Widget::apply_profile(), are_near(), Geom::are_near_rel(), Inkscape::UI::Tools::CalligraphicTool::brush(), Inkscape::UI::Widget::cap_length(), SPMeshNodeArray::color_smooth(), Geom::Ellipse::contains(), Inkscape::DrawingRadialGradient::create_pattern(), Geom::cubics_with_prescribed_curvature(), Inkscape::LivePathEffect::LPEAttachPath::doEffect(), Inkscape::UI::Tools::ArcTool::drag(), extract_pathvector_from_cairo(), Inkscape::LivePathEffect::LPEPts2Ellipse::genFitEllipse(), Inkscape::LivePathEffect::LPEPts2Ellipse::genIsometricEllipse(), Inkscape::LivePathEffect::LPEPts2Ellipse::genSteinerEllipse(), Geom::Circle::intersect(), Geom::BezierCurveN< degree >::intersect(), Geom::Circle::intersect(), Geom::Circle::intersects(), isNormalized(), HatchKnotHolderEntityScale::knot_set(), L2(), Inkscape::UI::Handle::length(), Geom::linear_intersect(), Geom::ConvexHull::minAreaRotation(), Inkscape::UI::Widget::Canvas::on_motion(), Inkscape::UI::PathManipulator::scaleHandle(), Inkscape::UI::Node::setType(), Inkscape::UI::Widget::RegisteredVector::setValue(), TEST(), Geom::Line::transformTo(), and Inkscape::UI::Widget::PatternEditor::update_widgets_from_pattern().
void Geom::Point::normalize | ( | ) |
Normalize the vector representing the point.
After this method returns, the length of the vector will be 1 (unless both coordinates are zero - the zero point will be returned then). The function tries to handle infinite coordinates gracefully. If any of the coordinates are NaN, the function will do nothing.
Definition at line 96 of file point.cpp.
References _pt, len, Geom::sqrt(), and x().
Referenced by Inkscape::UI::Dialog::CloneTiler::apply(), box3d_XY_axes_are_swapped(), cubic_length_subdividing(), Geom::darray_center_tangent(), Geom::BezierFitter::darray_center_tangent(), Inkscape::Text::Layout::fitToPathAlign(), SPSpiral::getTangent(), normalized(), SPGuide::set(), Geom::Ray::setPoints(), Geom::TEST(), unit_vector(), and Geom::Ellipse::unitTangentAt().
|
inline |
Definition at line 121 of file point.h.
References normalize(), and x().
Referenced by Inkscape::UI::Widget::CanvasGrid::_createGuideItem(), Geom::BezierCurveN< degree >::intersect(), Geom::Line::normal(), rot90_rel(), TEST(), Geom::TEST(), Geom::Line::versor(), and Geom::Ray::versor().
Definition at line 74 of file transforms.cpp.
References _pt, Geom::ShearBase< S >::f, and Geom::X.
Definition at line 166 of file point.h.
References _pt, Geom::X, Geom::IntPoint::x(), Geom::Y, and Geom::IntPoint::y().
Definition at line 67 of file transforms.cpp.
References _pt, Geom::Rotate::vec, Geom::X, x(), Geom::Y, and y().
Definition at line 61 of file transforms.cpp.
References _pt, Geom::Scale::vec, Geom::X, and Geom::Y.
Definition at line 55 of file transforms.cpp.
References _pt, Geom::Translate::vec, Geom::X, and Geom::Y.
Definition at line 79 of file transforms.cpp.
Definition at line 84 of file transforms.cpp.
References _pt, Geom::Zoom::_scale, Geom::Zoom::_trans, Geom::X, and Geom::Y.
Definition at line 180 of file point.h.
References _pt, Geom::X, Geom::IntPoint::x(), Geom::Y, and Geom::IntPoint::y().
Construct an unit vector from its angle.
The angle is specified in radians, in the mathematical convention (increasing counter-clockwise from +X).
Definition at line 69 of file point.cpp.
References are_near(), Geom::Angle::radians0(), Geom::sincos(), Geom::X, x(), and Geom::Y.
|
inline |
Round to nearest integer coordinates.
Definition at line 202 of file point.h.
References _pt, round(), Geom::X, and Geom::Y.
Referenced by Inkscape::UI::Widget::CanvasGrid::_rulerToCanvas(), Inkscape::UI::Widget::draw_point_indicator(), Inkscape::UI::Widget::draw_slider_thumb(), Inkscape::DrawingSurface::pixelArea(), Inkscape::DrawingCache::prepare(), round(), Inkscape::UI::Widget::Canvas::set_pos(), and Geom::TEST().
|
inlineconstexprnoexcept |
Definition at line 104 of file point.h.
Referenced by Inkscape::Text::Layout::_calculateCursorShapeForEmpty(), Inkscape::UI::Widget::CanvasGrid::_createGuideItem(), Inkscape::UI::ControlPointSelection::_keyboardMove(), SPHatchPath::_readHatchPathVector(), Inkscape::CanvasItemGridTiles::_render(), Inkscape::CanvasItemGuideLine::_render(), Inkscape::CanvasItemQuad::_render(), Inkscape::UI::Dialog::PowerstrokePropertiesDialog::_setKnotPoint(), Inkscape::UI::Dialog::KnotPropertiesDialog::_setKnotPoint(), Inkscape::UI::Tools::TextTool::_setupText(), Inkscape::AlignmentSnapper::_snapBBoxPoints(), Inkscape::DistributionSnapper::_snapEquidistantPoints(), Inkscape::CanvasItemText::_update(), absolute(), Inkscape::UI::Dialog::add_shadow(), are_collinear(), are_near(), Geom::are_near_rel(), Inkscape::UI::Dialog::PolarArrangeTab::arrange(), bezier_fit(), Inkscape::UI::Widget::Canvas::canvas_point_in_outline_zone(), Inkscape::Text::Layout::characterBoundingBox(), Inkscape::UI::Widget::circle(), Inkscape::Util::circle(), Inkscape::UI::Toolbar::NodeToolbar::coord_changed(), create_cubic_gradient(), Inkscape::DrawingMeshGradient::create_pattern(), Inkscape::DrawingRadialGradient::create_pattern(), Inkscape::ObjectSet::createBitmapCopy(), Inkscape::DrawingSurface::createRawContext(), Inkscape::Text::Layout::createSelectionShape(), SPGuide::createSPGuide(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doBeforeEffect(), Inkscape::LivePathEffect::LPEAttachPath::doEffect(), OutputFile::draw_curved_edges(), Inkscape::LivePathEffect::LPEEmbroderyStitchOrdering::OrderingPoint::Dump(), Inkscape::LivePathEffect::LPEEmbroderyStitchOrdering::OrderingGroupPoint::FindNearestUnused(), Inkscape::UI::Widget::ColorPlate::get_color_at(), getClosestSP(), Geom::Circle::intersect(), isNormalized(), HatchKnotHolderEntityScale::knot_set(), FilterKnotHolderEntity::knot_set(), Inkscape::UI::Toolbar::SelectToolbar::layout_widget_update(), Inkscape::UI::Dialog::SingleExport::loadExportHints(), Inkscape::Display::SnapIndicator::make_alignment_indicator(), Avoid::Router::markPolylineConnectorsNeedingReroutingForDeletedObstacle(), max(), min(), SPGuide::moveto(), Inkscape::Extension::Internal::Emf::myEnhMetaFileProc(), Inkscape::Extension::Internal::Wmf::myMetaFileProc(), normalize(), normalized(), operator*=(), operator*=(), operator/(), operator[](), operator[](), Inkscape::LivePathEffect::PointParam::param_getSVGValue(), Inkscape::LivePathEffect::PointParam::param_newWidget(), Inkscape::LivePathEffect::PointParam::param_readSVGValue(), Inkscape::LivePathEffect::PointParam::param_setValue(), Inkscape::LivePathEffect::PointParam::param_transform_multiply(), Inkscape::LivePathEffect::PointParam::param_update_default(), Inkscape::LivePathEffect::PointParam::param_update_default(), polar(), proj(), Inkscape::Filters::FilterDiffuseLighting::render_cairo(), Inkscape::UI::Dialog::render_icon(), Inkscape::UI::Widget::StatusBar::set_coordinate(), SPObject::setExportDpi(), Inkscape::Text::Layout::show(), Inkscape::UI::Tools::ObjectPickerTool::show_text(), Inkscape::UI::Tools::sort_fill_queue_horizontal(), sp_namedview_document_from_window(), Inkscape::LivePathEffect::sp_pathvector_boolop_slice_intersect(), Inkscape::Text::Layout::transform(), and Inkscape::Extension::Internal::OdfOutput::writeTree().
|
inlineconstexprnoexcept |
Definition at line 106 of file point.h.
Referenced by Inkscape::UI::Widget::CanvasGrid::_createGuideItem(), Inkscape::Extension::Internal::SvgBuilder::_flushTextPath(), SPHatchPath::_readHatchPathVector(), Inkscape::CanvasItemGridTiles::_render(), Inkscape::CanvasItemGridAxonom::_render(), Inkscape::CanvasItemGuideLine::_render(), Inkscape::CanvasItemQuad::_render(), Inkscape::UI::Dialog::PowerstrokePropertiesDialog::_setKnotPoint(), Inkscape::UI::Dialog::KnotPropertiesDialog::_setKnotPoint(), Inkscape::UI::Tools::TextTool::_setupText(), Inkscape::AlignmentSnapper::_snapBBoxPoints(), Inkscape::DistributionSnapper::_snapEquidistantPoints(), Inkscape::CanvasItemGridAxonom::_update(), Inkscape::CanvasItemText::_update(), absolute(), Inkscape::UI::Dialog::add_shadow(), Inkscape::UI::Dialog::PolarArrangeTab::arrange(), bezier_fit(), Geom::ConvexHull::bottomPoint(), Inkscape::UI::Widget::Canvas::canvas_point_in_outline_zone(), Inkscape::UI::Widget::circle(), Inkscape::Util::circle(), Inkscape::UI::Toolbar::NodeToolbar::coord_changed(), Inkscape::DrawingMeshGradient::create_pattern(), Inkscape::DrawingRadialGradient::create_pattern(), Inkscape::DrawingSurface::createRawContext(), SPGuide::createSPGuide(), Inkscape::LivePathEffect::LPEMirrorSymmetry::doBeforeEffect(), Inkscape::LivePathEffect::LPEAttachPath::doEffect(), Inkscape::LivePathEffect::LPEEmbroderyStitchOrdering::OrderingPoint::Dump(), Inkscape::LivePathEffect::LPEEmbroderyStitchOrdering::OrderingGroupPoint::FindNearestUnused(), Inkscape::Text::Layout::fitToPathAlign(), Inkscape::UI::Widget::ColorPlate::get_color_at(), getClosestSP(), Geom::Circle::intersect(), HatchKnotHolderEntityScale::knot_set(), FilterKnotHolderEntity::knot_set(), Inkscape::UI::Toolbar::SelectToolbar::layout_widget_update(), Inkscape::Display::SnapIndicator::make_alignment_indicator(), Avoid::Router::markPolylineConnectorsNeedingReroutingForDeletedObstacle(), max(), min(), SPGuide::moveto(), Inkscape::Extension::Internal::Emf::myEnhMetaFileProc(), Inkscape::Extension::Internal::Wmf::myMetaFileProc(), operator*=(), operator*=(), operator/(), proj(), Inkscape::Filters::FilterDiffuseLighting::render_cairo(), Inkscape::UI::Dialog::render_icon(), Inkscape::UI::Tools::TextTool::root_handler(), Inkscape::UI::Widget::StatusBar::set_coordinate(), SPDesktop::set_display_width(), SPObject::setExportDpi(), Inkscape::UI::Tools::ObjectPickerTool::show_text(), Inkscape::UI::Tools::sort_fill_queue_vertical(), sp_namedview_document_from_window(), Geom::ConvexHull::topPoint(), Inkscape::Text::Layout::transform(), and Inkscape::Extension::Internal::OdfOutput::writeTree().
Return the "absolute value" of the point's vector.
This is defined in terms of the default lexicographical ordering. If the point is "larger" that the origin (0, 0), its negation is returned. You can check whether the points' vectors have the same direction (e.g. lie on the same line passing through the origin) using
To check with some margin of error, use
Although naively this should take the absolute value of each coordinate, such an operation is not very useful.
Compute the angle between a and b relative to the origin.
The computation is done by projecting b onto the basis defined by a, rot90(a).
Definition at line 186 of file point.cpp.
References Geom::cross(), and Geom::dot().
|
related |
Test whether three points lie approximately on the same line.
Definition at line 415 of file point.h.
References are_near(), cross(), and x().
Test whether two points are no further apart than some threshold.
Definition at line 402 of file point.h.
References are_near(), length(), and x().
Referenced by are_collinear(), are_near(), isNormalized(), and polar().
|
related |
Snap the angle B - A - dir to multiples of \(2\pi/n\).
The 'dir' argument must be normalized (have unit length), otherwise the result is undefined.
Definition at line 244 of file point.cpp.
References Geom::angle_between(), and Geom::L2().
Compute the 2D cross product.
This is also known as "perp dot product". It will be zero for parallel vectors, and the absolute value will be highest for perpendicular vectors.
Definition at line 380 of file point.h.
References Geom::X, and Geom::Y.
Referenced by are_collinear().
Compute the dot product of a and b.
Dot product can be interpreted as a measure of how parallel the vectors are. For perpendicular vectors, it is zero. For parallel ones, its absolute value is highest, and the sign depends on whether they point in the same direction (+) or opposite ones (-).
True if the point has a length near 1.
The are_near() function is used.
Definition at line 172 of file point.cpp.
References Geom::are_near(), and Geom::L2().
Compute the square of the Euclidean norm of p.
Warning: this can overflow where L2 won't.
Definition at line 331 of file point.h.
References lengthSq().
Referenced by distanceSq().
Linear interpolation between two points.
t | Time value |
a | First point |
b | Second point |
Definition at line 355 of file point.h.
Referenced by middle_point().
Output operator for points.
Prints out the coordinates.
Definition at line 256 of file point.cpp.
References Geom::format_coord_nice(), Geom::operator<<(), Geom::X, and Geom::Y.
Returns p * Geom::rotate_degrees(90), but more efficient.
Angle direction in 2Geom: If you use the traditional mathematics convention that y increases upwards, then positive angles are anticlockwise as per the mathematics convention. If you take the common non-mathematical convention that y increases downwards, then positive angles are clockwise, as is common outside of mathematics.
There is no function to rotate by -90 degrees: use -rot90(p) instead.
Create a normalized version of a point.
This is equivalent to copying the point and calling its normalize() method. The returned point will be (0,0) if the argument has both coordinates equal to zero. If any coordinate is NaN, this function will do nothing.
a | Input point |
Definition at line 198 of file point.cpp.
References normalize().
|
private |
Definition at line 67 of file point.h.
Referenced by ccw(), ceil(), cw(), floor(), get(), get(), isFinite(), isZero(), length(), lengthSq(), normalize(), operator*=(), operator*=(), operator*=(), operator*=(), operator*=(), operator*=(), operator*=(), operator*=(), operator*=(), operator*=(), operator+=(), operator-(), operator-=(), operator/=(), operator/=(), operator/=(), operator<(), operator==(), operator[](), operator[](), operator[](), operator[](), round(), x(), x(), y(), and y().