LLVector3d Class Reference

#include <v3dmath.h>

Collaboration diagram for LLVector3d:

Collaboration graph
[legend]

List of all members.

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 LLVector3doperator= (const LLSD &sd)
LLSD getValue () const
BOOL isFinite () const
BOOL clamp (const F64 min, const F64 max)
BOOL abs ()
const LLVector3dclearVec ()
const LLVector3dsetZero ()
const LLVector3dzeroVec ()
const LLVector3dsetVec (const F64 x, const F64 y, const F64 z)
const LLVector3dsetVec (const LLVector3d &vec)
const LLVector3dsetVec (const F64 *vec)
const LLVector3dsetVec (const LLVector3 &vec)
F64 magVec () const
F64 magVecSquared () const
F64 normVec ()
const LLVector3drotVec (const F64 angle, const LLVector3d &vec)
const LLVector3drotVec (const F64 angle, const F64 x, const F64 y, const F64 z)
const LLVector3drotVec (const LLMatrix3 &mat)
const LLVector3drotVec (const LLQuaternion &q)
BOOL isNull () const
BOOL isExactlyZero () const
const LLVector3doperator= (const LLVector4 &a)
F64 operator[] (int idx) const
F64operator[] (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 LLVector3doperator+= (LLVector3d &a, const LLVector3d &b)
const LLVector3doperator-= (LLVector3d &a, const LLVector3d &b)
const LLVector3doperator%= (LLVector3d &a, const LLVector3d &b)
const LLVector3doperator*= (LLVector3d &a, const F64 k)
const LLVector3doperator/= (LLVector3d &a, const F64 k)
LLVector3d operator- (const LLVector3d &a)
std::ostream & operator<< (std::ostream &s, const LLVector3d &a)


Detailed Description

Definition at line 38 of file v3dmath.h.


Constructor & Destructor Documentation

LLVector3d::LLVector3d ( void   )  [inline]

Definition at line 146 of file v3dmath.h.

References mdV.

Referenced by lerp(), operator%(), operator*(), operator-(), and operator/().

Here is the caller graph for this function:

LLVector3d::LLVector3d ( const F64  x,
const F64  y,
const F64  z 
) [inline]

Definition at line 153 of file v3dmath.h.

References mdV, VX, VY, and VZ.

LLVector3d::LLVector3d ( const F64 vec  )  [inline, explicit]

Definition at line 160 of file v3dmath.h.

References mdV, VX, VY, and VZ.

LLVector3d::LLVector3d ( const LLVector3 vec  )  [inline, explicit]

Definition at line 167 of file v3dmath.h.

References mdV, LLVector3::mV, VX, VY, and VZ.

LLVector3d::LLVector3d ( const LLSD sd  )  [inline]

Definition at line 55 of file v3dmath.h.

References setValue().

Here is the call graph for this function:


Member Function Documentation

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().

Here is the call graph for this function:

Here is the caller graph for this function:

const LLVector3d& LLVector3d::operator= ( const LLSD sd  )  [inline]

Definition at line 67 of file v3dmath.h.

References setValue().

Here is the call graph for this function:

LLSD LLVector3d::getValue (  )  const [inline]

BOOL LLVector3d::isFinite (  )  const [inline]

Definition at line 186 of file v3dmath.h.

References llfinite, mdV, VX, VY, and VZ.

Referenced by LLTemplateMessageReader::getVector3d().

Here is the caller graph for this function:

BOOL LLVector3d::clamp ( const F64  min,
const F64  max 
)

Definition at line 61 of file v3dmath.cpp.

References FALSE, mdV, and TRUE.

Referenced by LLWorld::clipToVisibleRegions().

Here is the caller graph for this function:

BOOL LLVector3d::abs (  ) 

Definition at line 78 of file v3dmath.cpp.

References FALSE, mdV, and TRUE.

Referenced by LLWorld::clipToVisibleRegions().

Here is the caller graph for this function:

const LLVector3d & LLVector3d::clearVec ( void   )  [inline]

const LLVector3d & LLVector3d::setZero ( void   )  [inline]

Definition at line 202 of file v3dmath.h.

References mdV.

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().

Here is the caller graph for this function:

const LLVector3d & LLVector3d::setVec ( const F64  x,
const F64  y,
const F64  z 
) [inline]

const LLVector3d & LLVector3d::setVec ( const LLVector3d vec  )  [inline]

Definition at line 226 of file v3dmath.h.

References mdV.

const LLVector3d & LLVector3d::setVec ( const F64 vec  )  [inline]

Definition at line 234 of file v3dmath.h.

References mdV.

const LLVector3d & LLVector3d::setVec ( const LLVector3 vec  )  [inline]

Definition at line 137 of file v3dmath.h.

References mdV, and LLVector3::mV.

F64 LLVector3d::magVec ( void   )  const [inline]

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().

Here is the caller graph for this function:

F64 LLVector3d::normVec ( void   )  [inline]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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]

Definition at line 405 of file v3dmath.h.

References F_APPROXIMATELY_ZERO, FALSE, mdV, TRUE, VX, VY, and VZ.

BOOL LLVector3d::isExactlyZero (  )  const [inline]

const LLVector3d & LLVector3d::operator= ( const LLVector4 a  ) 

Definition at line 95 of file v3dmath.cpp.

References mdV, and LLVector4::mV.

F64 LLVector3d::operator[] ( int  idx  )  const [inline]

Definition at line 108 of file v3dmath.h.

References mdV.

F64& LLVector3d::operator[] ( int  idx  )  [inline]

Definition at line 109 of file v3dmath.h.

References mdV.

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().

Here is the call graph for this function:

Here is the caller graph for this function:


Friends And Related Function Documentation

LLVector3d operator+ ( const LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 276 of file v3dmath.h.

LLVector3d operator- ( const LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 282 of file v3dmath.h.

F64 operator* ( const LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 288 of file v3dmath.h.

LLVector3d operator% ( const LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 293 of file v3dmath.h.

LLVector3d operator* ( const LLVector3d a,
const F64  k 
) [friend]

Definition at line 304 of file v3dmath.h.

LLVector3d operator/ ( const LLVector3d a,
const F64  k 
) [friend]

Definition at line 298 of file v3dmath.h.

LLVector3d operator* ( const F64  k,
const LLVector3d a 
) [friend]

Definition at line 309 of file v3dmath.h.

bool operator== ( const LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 314 of file v3dmath.h.

bool operator!= ( const LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 321 of file v3dmath.h.

const LLVector3d& operator+= ( LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 328 of file v3dmath.h.

const LLVector3d& operator-= ( LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 336 of file v3dmath.h.

const LLVector3d& operator%= ( LLVector3d a,
const LLVector3d b 
) [friend]

Definition at line 344 of file v3dmath.h.

const LLVector3d& operator*= ( LLVector3d a,
const F64  k 
) [friend]

Definition at line 351 of file v3dmath.h.

const LLVector3d& operator/= ( LLVector3d a,
const F64  k 
) [friend]

Definition at line 359 of file v3dmath.h.

LLVector3d operator- ( const LLVector3d a  )  [friend]

Definition at line 368 of file v3dmath.h.

std::ostream& operator<< ( std::ostream &  s,
const LLVector3d a 
) [friend]

Definition at line 89 of file v3dmath.cpp.


Member Data Documentation

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 44 of file v3dmath.h.

Definition at line 45 of file v3dmath.h.

Definition at line 46 of file v3dmath.h.

Referenced by LLToolGrab::handleHoverActive().

Definition at line 47 of file v3dmath.h.

Definition at line 48 of file v3dmath.h.

Definition at line 49 of file v3dmath.h.


The documentation for this class was generated from the following files:

Generated on Fri May 16 09:21:41 2008 for SecondLife by  doxygen 1.5.5