#include <v3dmath.h>
Public Member Functions | |
LLVector3d () | |
LLVector3d (const F64 x, const F64 y, const F64 z) | |
LLVector3d (const F64 *vec) | |
LLVector3d (const LLVector3 &vec) | |
LLVector3d (const LLSD &sd) | |
void | setValue (const LLSD &sd) |
const LLVector3d & | operator= (const LLSD &sd) |
LLSD | getValue () const |
BOOL | isFinite () const |
BOOL | clamp (const F64 min, const F64 max) |
BOOL | abs () |
const LLVector3d & | clearVec () |
const LLVector3d & | setZero () |
const LLVector3d & | zeroVec () |
const LLVector3d & | setVec (const F64 x, const F64 y, const F64 z) |
const LLVector3d & | setVec (const LLVector3d &vec) |
const LLVector3d & | setVec (const F64 *vec) |
const LLVector3d & | setVec (const LLVector3 &vec) |
F64 | magVec () const |
F64 | magVecSquared () const |
F64 | normVec () |
const LLVector3d & | rotVec (const F64 angle, const LLVector3d &vec) |
const LLVector3d & | rotVec (const F64 angle, const F64 x, const F64 y, const F64 z) |
const LLVector3d & | rotVec (const LLMatrix3 &mat) |
const LLVector3d & | rotVec (const LLQuaternion &q) |
BOOL | isNull () const |
BOOL | isExactlyZero () const |
const LLVector3d & | operator= (const LLVector4 &a) |
F64 | operator[] (int idx) const |
F64 & | operator[] (int idx) |
Static Public Member Functions | |
static BOOL | parseVector3d (const char *buf, LLVector3d *value) |
Public Attributes | |
F64 | mdV [3] |
Static Public Attributes | |
static const LLVector3d | zero |
static const LLVector3d | x_axis |
static const LLVector3d | y_axis |
static const LLVector3d | z_axis |
static const LLVector3d | x_axis_neg |
static const LLVector3d | y_axis_neg |
static const LLVector3d | z_axis_neg |
Friends | |
LLVector3d | operator+ (const LLVector3d &a, const LLVector3d &b) |
LLVector3d | operator- (const LLVector3d &a, const LLVector3d &b) |
F64 | operator* (const LLVector3d &a, const LLVector3d &b) |
LLVector3d | operator% (const LLVector3d &a, const LLVector3d &b) |
LLVector3d | operator* (const LLVector3d &a, const F64 k) |
LLVector3d | operator/ (const LLVector3d &a, const F64 k) |
LLVector3d | operator* (const F64 k, const LLVector3d &a) |
bool | operator== (const LLVector3d &a, const LLVector3d &b) |
bool | operator!= (const LLVector3d &a, const LLVector3d &b) |
const LLVector3d & | operator+= (LLVector3d &a, const LLVector3d &b) |
const LLVector3d & | operator-= (LLVector3d &a, const LLVector3d &b) |
const LLVector3d & | operator%= (LLVector3d &a, const LLVector3d &b) |
const LLVector3d & | operator*= (LLVector3d &a, const F64 k) |
const LLVector3d & | operator/= (LLVector3d &a, const F64 k) |
LLVector3d | operator- (const LLVector3d &a) |
std::ostream & | operator<< (std::ostream &s, const LLVector3d &a) |
Definition at line 38 of file v3dmath.h.
LLVector3d::LLVector3d | ( | void | ) | [inline] |
Definition at line 146 of file v3dmath.h.
References mdV.
Referenced by lerp(), operator%(), operator*(), operator-(), and operator/().
LLVector3d::LLVector3d | ( | const F64 * | vec | ) | [inline, explicit] |
LLVector3d::LLVector3d | ( | const LLVector3 & | vec | ) | [inline, explicit] |
LLVector3d::LLVector3d | ( | const LLSD & | sd | ) | [inline] |
Definition at line 55 of file v3dmath.h.
References setValue().
void LLVector3d::setValue | ( | const LLSD & | sd | ) | [inline] |
Definition at line 60 of file v3dmath.h.
References LLSD::asReal(), and mdV.
Referenced by LLVector3d(), operator=(), and LLFloaterSettingsDebug::updateControl().
const LLVector3d& LLVector3d::operator= | ( | const LLSD & | sd | ) | [inline] |
Definition at line 67 of file v3dmath.h.
References setValue().
LLSD LLVector3d::getValue | ( | ) | const [inline] |
Definition at line 73 of file v3dmath.h.
References mdV.
Referenced by LLControlGroup::declareVec3d(), LLControlGroup::loadFromFileLegacy(), LLFloaterSettingsDebug::onCommitSettings(), LLPanelClassified::sendClassifiedClickMessage(), LLFloaterPostcard::sendPostcard(), and LLControlGroup::setVector3d().
BOOL LLVector3d::isFinite | ( | ) | const [inline] |
Definition at line 61 of file v3dmath.cpp.
References FALSE, mdV, and TRUE.
Referenced by LLWorld::clipToVisibleRegions().
BOOL LLVector3d::abs | ( | ) |
Definition at line 78 of file v3dmath.cpp.
References FALSE, mdV, and TRUE.
Referenced by LLWorld::clipToVisibleRegions().
const LLVector3d & LLVector3d::clearVec | ( | void | ) | [inline] |
Definition at line 194 of file v3dmath.h.
References mdV.
Referenced by LLAgent::calcCameraPositionTargetGlobal(), LLFloaterWorldMap::centerOnTarget(), LLHUDEffectLookAt::clearLookAtTarget(), LLHUDEffectPointAt::clearPointAtTarget(), LLSelectMgr::deselectAll(), LLSelectMgr::deselectAllForStandingUp(), LLHoverView::LLHoverView(), LLSelectMgr::LLSelectMgr(), LLViewerParcelMgr::processParcelProperties(), LLPanelPick::reset(), LLPanelClassified::reset(), LLPanelPlace::resetLocation(), and LLSelectMgr::updateSelectionCenter().
const LLVector3d & LLVector3d::setZero | ( | void | ) | [inline] |
const LLVector3d & LLVector3d::zeroVec | ( | void | ) | [inline] |
Definition at line 210 of file v3dmath.h.
References mdV.
Referenced by LLTemplateMessageReader::getVector3d(), LLViewerWindow::hitObjectOrLandGlobalAsync(), LLTracker::stopTrackingLandmark(), and LLTracker::stopTrackingLocation().
const LLVector3d & LLVector3d::setVec | ( | const F64 | x, | |
const F64 | y, | |||
const F64 | z | |||
) | [inline] |
Definition at line 218 of file v3dmath.h.
References mdV, VX, VY, and VZ.
Referenced by LLAgent::calcCameraPositionTargetGlobal(), LLAgent::calcFocusPositionTargetGlobal(), LLHUDEffectLookAt::calcTargetPosition(), LLAgent::cameraOrbitOver(), LLAgent::cameraPanIn(), LLAgent::cameraPanLeft(), LLAgent::cameraPanUp(), LLViewerWindow::clickPointInWorldGlobal(), LLWorld::clipToVisibleRegions(), LLSurface::create(), LLManipScale::dragCorner(), LLManipScale::dragFace(), LLNetMap::draw(), LLAgent::getHomePosGlobal(), LLHUDEffectPointAt::getPointAtPosGlobal(), LLAgent::getPosGlobalFromAgent(), LLViewerRegion::getPosGlobalFromRegion(), LLRegionPosition::getPositionGlobal(), LLManipTranslate::handleHover(), LLToolGrab::handleHoverActive(), LLFloaterCustomize::initWearablePanels(), LLViewerWindow::mousePointOnLandGlobal(), LLViewerWindow::mousePointOnPlaneGlobal(), parseVector3d(), LLToolPlacer::raycastForNewObjPos(), LLHUDEffectLookAt::setLookAt(), LLHUDEffectPointAt::setPointAt(), LLAgent::setPositionAgent(), LLViewerObject::setPositionGlobal(), LLDrawable::setPositionGroup(), LLCloudGroup::updatePuffs(), LLSpatialBridge::updateSpatialExtents(), LLDrawable::updateSpatialExtents(), LLWorldMapView::viewPosToGlobal(), and LLNetMap::viewPosToGlobal().
const LLVector3d & LLVector3d::setVec | ( | const LLVector3d & | vec | ) | [inline] |
const LLVector3d & LLVector3d::setVec | ( | const F64 * | vec | ) | [inline] |
const LLVector3d & LLVector3d::setVec | ( | const LLVector3 & | vec | ) | [inline] |
F64 LLVector3d::magVec | ( | void | ) | const [inline] |
Definition at line 266 of file v3dmath.h.
Referenced by LLAgent::calcCameraPositionTargetGlobal(), LLViewerWindow::clickPointInWorldGlobal(), LLVoiceClient::enforceTether(), LLAgent::getCameraZoomFraction(), LLAgent::getCurrentCameraBuildOffset(), LLFloaterWorldMap::getDistanceToDestination(), LLAgent::handleScrollWheel(), LLViewerWindow::mousePointOnPlaneGlobal(), LLWorld::printPacketsLost(), LLTracker::renderBeacon(), LLPanelObject::sendPosition(), LLAgent::startAutoPilotGlobal(), LLAgent::updateCamera(), and LLSpatialGroup::updateDistance().
F64 LLVector3d::magVecSquared | ( | void | ) | const [inline] |
Definition at line 271 of file v3dmath.h.
References mdV.
Referenced by LLHUDEffectLookAt::calcTargetPosition(), LLSelectMgr::deselectAllIfTooFar(), LLManipTranslate::handleHover(), and LLSelectMgr::updateSelectionCenter().
F64 LLVector3d::normVec | ( | void | ) | [inline] |
Definition at line 242 of file v3dmath.h.
References FP_MAG_THRESHOLD, fsqrtf, and mdV.
Referenced by angle_between(), are_parallel(), LLAgent::cameraOrbitIn(), LLAgent::cameraZoomIn(), LLToolCamera::handleHover(), LLManipTranslate::handleHover(), LLToolGrab::handleHoverActive(), LLViewerWindow::mousePointOnPlaneGlobal(), projected_vec(), and LLAgent::setCameraZoomFraction().
const LLVector3d & LLVector3d::rotVec | ( | const F64 | angle, | |
const LLVector3d & | vec | |||
) |
Definition at line 115 of file v3dmath.cpp.
References isExactlyZero().
Referenced by LLAgent::cameraOrbitAround(), and LLAgent::cameraOrbitOver().
const LLVector3d & LLVector3d::rotVec | ( | const F64 | angle, | |
const F64 | x, | |||
const F64 | y, | |||
const F64 | z | |||
) |
Definition at line 124 of file v3dmath.cpp.
References isExactlyZero().
const LLVector3d & LLVector3d::rotVec | ( | const LLMatrix3 & | mat | ) |
Definition at line 103 of file v3dmath.cpp.
const LLVector3d & LLVector3d::rotVec | ( | const LLQuaternion & | q | ) |
Definition at line 109 of file v3dmath.cpp.
BOOL LLVector3d::isNull | ( | ) | const [inline] |
BOOL LLVector3d::isExactlyZero | ( | ) | const [inline] |
Definition at line 104 of file v3dmath.h.
References mdV, VX, VY, and VZ.
Referenced by LLFloaterWorldMap::centerOnTarget(), LLSelectMgr::deselectAllIfTooFar(), LLPanelPlace::displayParcelInfo(), LLWorldMapView::draw(), LLFloaterWorldMap::fly(), LLToolPie::handleDoubleClick(), LLWorldMapView::handleHover(), LLHoverView::isHoveringLand(), LLHUDEffectSpiral::packData(), LLToolPie::pickAndShowMenu(), LLToolCamera::pickCallback(), LLToolPlacer::raycastForNewObjPos(), rotVec(), LLAgent::setFocusGlobal(), LLFloaterWorldMap::teleport(), LLHUDEffectSpiral::triggerLocal(), LLAudioEngine::triggerSound(), LLViewerPartSourceBeam::update(), LLAgent::updateCamera(), and LLFloaterWorldMap::updateLocation().
const LLVector3d & LLVector3d::operator= | ( | const LLVector4 & | a | ) |
F64 LLVector3d::operator[] | ( | int | idx | ) | const [inline] |
F64& LLVector3d::operator[] | ( | int | idx | ) | [inline] |
BOOL LLVector3d::parseVector3d | ( | const char * | buf, | |
LLVector3d * | value | |||
) | [static] |
Definition at line 135 of file v3dmath.cpp.
References FALSE, mdV, NULL, S32, setVec(), and TRUE.
Referenced by LLXmlTreeNode::getFastAttributeVector3d().
LLVector3d operator+ | ( | const LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
LLVector3d operator- | ( | const LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
F64 operator* | ( | const LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
LLVector3d operator% | ( | const LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
LLVector3d operator* | ( | const LLVector3d & | a, | |
const F64 | k | |||
) | [friend] |
LLVector3d operator/ | ( | const LLVector3d & | a, | |
const F64 | k | |||
) | [friend] |
LLVector3d operator* | ( | const F64 | k, | |
const LLVector3d & | a | |||
) | [friend] |
bool operator== | ( | const LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
bool operator!= | ( | const LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
const LLVector3d& operator+= | ( | LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
const LLVector3d& operator-= | ( | LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
const LLVector3d& operator%= | ( | LLVector3d & | a, | |
const LLVector3d & | b | |||
) | [friend] |
const LLVector3d& operator*= | ( | LLVector3d & | a, | |
const F64 | k | |||
) | [friend] |
const LLVector3d& operator/= | ( | LLVector3d & | a, | |
const F64 | k | |||
) | [friend] |
LLVector3d operator- | ( | const LLVector3d & | a | ) | [friend] |
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLVector3d & | a | |||
) | [friend] |
Definition at line 89 of file v3dmath.cpp.
Definition at line 41 of file v3dmath.h.
Referenced by abs(), LLTemplateMessageBuilder::addVector3d(), LLAgent::autoPilot(), LLToolBrushLand::brush(), LLFloaterLandHoldings::buttonCore(), LLAgent::calcCameraPositionTargetGlobal(), LLViewerRegion::calculateCenterGlobal(), LLAgent::cameraZoomIn(), LLFloaterWorldMap::centerOnTarget(), clamp(), clearVec(), LLWorld::clipToVisibleRegions(), LLLandmark::constructFromString(), LLOctreeNode< T >::contains(), LLSurface::createPatchData(), LLToolBrushLand::determineAffectedRegions(), dist_vec(), dist_vec_squared(), dist_vec_squared2D(), LLWorldMapView::draw(), LLNetMap::draw(), LLHoverView::draw(), LLTracker::drawHUDArrow(), LLSurfacePatch::eval(), LLVLComposition::generateHeights(), LLXMLNode::getAttributeVector3d(), LLPreviewLandmark::getDegreesAndDist(), LLAvatarTracker::getDegreesAndDist(), LLFloaterWorldMap::getDistanceToDestination(), LLSimInfo::getGlobalPos(), LLAvatarTracker::getGlobalPos(), LLLandmark::getGlobalPos(), LLViewerParcelMgr::getHoverParcelHeight(), LLViewerParcelMgr::getHoverParcelWidth(), LLOctreeNode< T >::getNodeAt(), LLOctreeNode< T >::getOctant(), LLViewerParcelMgr::getSelectedArea(), LLViewerParcelMgr::getSelectionHeight(), LLViewerParcelMgr::getSelectionWidth(), LLAgent::getSLURL(), getValue(), LLTemplateMessageReader::getVector3d(), handle_go_to(), LLWorldMapView::handleClick(), LLToolsSnapObjectXY::handleEvent(), LLManipTranslate::handleHover(), LLToolGrab::handleHoverActive(), LLToolBrushLand::handleMouseDown(), LLViewerWindow::handlePaint(), LLVOAvatar::idleUpdate(), LLOctreeRoot< T >::insert(), LLOctreeNode< T >::insert(), isExactlyZero(), isFinite(), LLOctreeNode< T >::isInside(), isNull(), lerp(), ll_sd_from_vector3d(), ll_vector3d_from_sd(), LLFloaterAbout::LLFloaterAbout(), LLOctreeNode< T >::LLOctreeNode(), LLVector3::LLVector3(), LLVector3d(), LLEventNotification::load(), LLAgentPilot::load(), magVec(), magVecSquared(), LLToolBrushLand::modifyLandInSelectionGlobal(), normVec(), LLFloaterWorldMap::onCommitLocation(), LLFloaterWorldMap::onCommitSearchResult(), LLFloaterSettingsDebug::onCommitSettings(), LLPanelGroupLandMoney::impl::onMapButton(), operator!=(), operator%(), operator%=(), operator*(), operator*=(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), LLHUDEffectSpiral::packData(), LLHUDEffectPointAt::packData(), LLHUDEffectLookAt::packData(), LLHUDEffectBeam::packData(), parseVector3d(), process_agent_movement_complete(), process_sound_trigger(), LLAvatarTracker::processAgentFound(), LLPanelClassified::processClassifiedInfoReply(), LLWorldMap::processMapBlockReply(), LLWorldMap::processMapItemReply(), LLPanelPick::processPickInfoReply(), LLFloaterGodTools::processRegionInfo(), LLOctreeNode< T >::pushCenter(), LLToolBrushLand::render(), LLAgent::renderAutoPilotTarget(), LLDrawPoolTerrain::renderFull2TU(), LLDrawPoolTerrain::renderFull4TU(), LLDrawPoolTerrain::renderFullShader(), LLViewerObjectList::renderObjectsForMap(), LLSurface::resolveNormalGlobal(), LLWorld::resolveStepHeightGlobal(), LLMapLayerResponder::result(), LLToolSelectLand::roundXY(), sanitize_corners(), LLViewerParcelMgr::selectLand(), LLViewerParcelMgr::selectParcelAt(), LLViewerParcelMgr::sendParcelGodForceOwner(), LLVector3::set(), LLSurface::setOriginGlobal(), LLViewerParcelMgr::setupParcelBuy(), setValue(), LLVector3::setVec(), setVec(), setZero(), LLAgent::startAutoPilotGlobal(), LLFloaterWorldMap::teleport(), LLAgent::teleportViaLocation(), to_region_handle(), LLFloaterWorldMap::trackLocation(), LLHUDEffectSpiral::unpackData(), LLHUDEffectPointAt::unpackData(), LLHUDEffectLookAt::unpackData(), LLHUDEffectBeam::unpackData(), LLDebugText::update(), LLSpatialBridge::updateBinRadius(), LLVOAvatar::updateCharacter(), LLViewerRegion::updateCoarseLocations(), LLSpatialGroup::updateInGroup(), LLFloaterWorldMap::updateLocation(), LLOctreeNode< T >::updateMinMax(), LLSurfacePatch::updateTexture(), LLWorldMapView::updateVisibleBlocks(), LLManipRotate::updateVisiblity(), LLWorld::updateWaterObjects(), LLWorldMapView::viewPosToGlobal(), and zeroVec().
const LLVector3d LLVector3d::zero [static] |
Definition at line 43 of file v3dmath.h.
Referenced by LLViewerWindow::analyzeHit(), LLAgent::calcCameraPositionTargetGlobal(), LLAgent::changeCameraToCustomizeAvatar(), LLControlGroup::getVector3d(), LLHoverView::pickCallback(), LLAgent::setFocusOnAvatar(), LLAgent::unlockView(), and LLHoverView::updateText().
const LLVector3d LLVector3d::x_axis [static] |
const LLVector3d LLVector3d::y_axis [static] |
const LLVector3d LLVector3d::z_axis [static] |
const LLVector3d LLVector3d::x_axis_neg [static] |
const LLVector3d LLVector3d::y_axis_neg [static] |
const LLVector3d LLVector3d::z_axis_neg [static] |