#include <iostream>
#include "lldarray.h"
#include "lluuid.h"
#include "v4color.h"
#include "v2math.h"
#include "v3math.h"
#include "llquaternion.h"
#include "llstrider.h"
#include "v4coloru.h"
#include "llmemory.h"
Include dependency graph for llvolume.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Copyright (c) 2002-2007, Linden Research, Inc.
Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2
There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception
By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.
ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$
Definition in file llvolume.h.
typedef const LLVolumeParams* const_LLVolumeParamsPtr |
Definition at line 519 of file llvolume.h.
Definition at line 161 of file llvolume.h.
typedef LLVolumeParams* LLVolumeParamsPtr |
Definition at line 518 of file llvolume.h.
LLVector3 calc_binormal_from_triangle | ( | const LLVector3 & | pos0, | |
const LLVector2 & | tex0, | |||
const LLVector3 & | pos1, | |||
const LLVector2 & | tex1, | |||
const LLVector3 & | pos2, | |||
const LLVector2 & | tex2 | |||
) |
Definition at line 4904 of file llvolume.cpp.
References LLVector2::mV, LLVector3::mV, VX, VY, and VZ.
Referenced by LLVolumeFace::createCap(), LLVolumeFace::createSide(), and LLVolumeFace::createUnCutCubeCap().
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLVolumeParams & | volume_params | |||
) |
Definition at line 3916 of file llvolume.cpp.
References LLVolumeParams::mPathParams, and LLVolumeParams::mProfileParams.
const F32 CUT_QUANTA = 0.00002f |
Definition at line 68 of file llvolume.h.
Referenced by LLPathParams::LLPathParams(), LLProfileParams::LLProfileParams(), LLVolumeMessage::packPathParams(), LLVolumeMessage::packProfileParams(), LLVolumeMessage::unpackPathParams(), and LLVolumeMessage::unpackProfileParams().
const F32 HOLLOW_QUANTA = 0.00002f |
Definition at line 73 of file llvolume.h.
Referenced by LLProfileParams::LLProfileParams(), LLVolumeMessage::packProfileParams(), and LLVolumeMessage::unpackProfileParams().
const LLFaceID LL_FACE_INNER_SIDE = 0x1 << 2 |
Definition at line 165 of file llvolume.h.
Referenced by LLProfile::addHole(), LLVolume::createVolumeFaces(), LLVolume::generateFaceMask(), and LLPrimitive::setVolume().
const LLFaceID LL_FACE_OUTER_SIDE_0 = 0x1 << 5 |
Definition at line 168 of file llvolume.h.
Referenced by LLProfile::generate(), LLVolume::generateFaceMask(), and LLPrimitive::setVolume().
const LLFaceID LL_FACE_OUTER_SIDE_1 = 0x1 << 6 |
Definition at line 169 of file llvolume.h.
const LLFaceID LL_FACE_OUTER_SIDE_2 = 0x1 << 7 |
Definition at line 170 of file llvolume.h.
const LLFaceID LL_FACE_OUTER_SIDE_3 = 0x1 << 8 |
Definition at line 171 of file llvolume.h.
const LLFaceID LL_FACE_PATH_BEGIN = 0x1 << 0 |
Definition at line 163 of file llvolume.h.
Referenced by LLVolume::createVolumeFaces(), LLProfile::generate(), LLVolume::generateFaceMask(), and LLPrimitive::setVolume().
const LLFaceID LL_FACE_PATH_END = 0x1 << 1 |
Definition at line 164 of file llvolume.h.
Referenced by LLVolume::createVolumeFaces(), LLProfile::generate(), LLVolume::generateFaceMask(), and LLPrimitive::setVolume().
const LLFaceID LL_FACE_PROFILE_BEGIN = 0x1 << 3 |
Definition at line 166 of file llvolume.h.
Referenced by LLVolume::createVolumeFaces(), LLProfile::generate(), LLVolume::generateFaceMask(), and LLPrimitive::setVolume().
const LLFaceID LL_FACE_PROFILE_END = 0x1 << 4 |
Definition at line 167 of file llvolume.h.
Referenced by LLVolume::createVolumeFaces(), LLProfile::generate(), LLVolume::generateFaceMask(), and LLPrimitive::setVolume().
const LLPCode LL_PCODE_APP = 14 |
Definition at line 100 of file llvolume.h.
Referenced by LLPrimitive::isApp(), LLPrimitive::isPrimitive(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_BASE_MASK = 0x0F |
Definition at line 82 of file llvolume.h.
Referenced by LLPrimitive::isApp(), LLPrimitive::isPrimitive(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_CONE = 6 |
Definition at line 90 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_CUBE = 1 |
Definition at line 85 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_CYLINDER = 5 |
Definition at line 89 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_HEMI_MASK = 0x10 |
const U8 LL_PCODE_HOLE_CIRCLE = 0x10 |
Definition at line 144 of file llvolume.h.
Referenced by LLProfile::generate(), LLPanelObject::getState(), and LLPanelObject::getVolumeParams().
const U8 LL_PCODE_HOLE_MASK = 0xf0 |
Definition at line 141 of file llvolume.h.
Referenced by LLProfile::generate(), LLPanelObject::getState(), LLVolumeParams::setHollow(), and LLVolumeParams::setType().
const U8 LL_PCODE_HOLE_MAX = 0x03 |
const U8 LL_PCODE_HOLE_MIN = 0x00 |
Definition at line 142 of file llvolume.h.
const U8 LL_PCODE_HOLE_SAME = 0x00 |
Definition at line 143 of file llvolume.h.
Referenced by LLProfile::generate(), LLPanelObject::getState(), and LLPanelObject::getVolumeParams().
const U8 LL_PCODE_HOLE_SQUARE = 0x20 |
Definition at line 145 of file llvolume.h.
Referenced by LLProfile::generate(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), and LLVolumeParams::setHollow().
const U8 LL_PCODE_HOLE_TRIANGLE = 0x30 |
Definition at line 146 of file llvolume.h.
Referenced by LLProfile::generate(), LLPanelObject::getState(), and LLPanelObject::getVolumeParams().
const LLPCode LL_PCODE_HOLLOW_MASK = 0x80 |
Definition at line 78 of file llvolume.h.
const LLPCode LL_PCODE_LEGACY = 15 |
const LLPCode LL_PCODE_LEGACY_AVATAR = 0x20 | LL_PCODE_LEGACY |
Definition at line 105 of file llvolume.h.
Referenced by LLViewerObject::createObject(), LLPrimitive::isAvatar(), LLPrimitive::legacyToPCode(), LLImagePreviewAvatar::LLImagePreviewAvatar(), LLPreviewAnimation::LLPreviewAnimation(), LLViewerObject::markDead(), LLPrimitive::pCodeToLegacy(), LLPrimitive::pCodeToString(), LLViewerObject::processUpdateMessage(), and LLHUDEffectBeam::setupParticle().
const LLPCode LL_PCODE_LEGACY_GRASS = 0x50 | LL_PCODE_LEGACY |
Definition at line 108 of file llvolume.h.
Referenced by add_object(), LLViewerObject::createObject(), LLManipTranslate::handleHover(), LLPrimitive::legacyToPCode(), LLPrimitive::pCodeToLegacy(), LLPrimitive::pCodeToString(), LLViewerWindow::performPick(), and LLPanelObject::sendPosition().
const LLPCode LL_PCODE_LEGACY_PART_SYS = 0x80 | LL_PCODE_LEGACY |
Definition at line 111 of file llvolume.h.
Referenced by LLViewerObject::createObject(), LLPrimitive::legacyToPCode(), LLPrimitive::pCodeToLegacy(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_LEGACY_ROCK = 0x90 | LL_PCODE_LEGACY |
Definition at line 112 of file llvolume.h.
const LLPCode LL_PCODE_LEGACY_TEXT_BUBBLE = 0xE0 | LL_PCODE_LEGACY |
Definition at line 117 of file llvolume.h.
Referenced by LLViewerObject::createObject(), LLPrimitive::pCodeToString(), process_kill_object(), and LLViewerObject::processUpdateMessage().
const LLPCode LL_PCODE_LEGACY_TREE = 0xF0 | LL_PCODE_LEGACY |
Definition at line 118 of file llvolume.h.
Referenced by add_object(), LLViewerObject::createObject(), LLPrimitive::legacyToPCode(), LLPrimitive::pCodeToLegacy(), LLPrimitive::pCodeToString(), LLViewerWindow::performPick(), and renderBoundingBox().
const LLPCode LL_PCODE_PATCH_MASK = 0x20 |
Definition at line 80 of file llvolume.h.
const U8 LL_PCODE_PATH_CIRCLE = 0x20 |
Definition at line 152 of file llvolume.h.
Referenced by add_object(), LLVolumeFace::createSide(), LLVolume::generate(), LLPath::generate(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), LLImagePreviewSculpted::LLImagePreviewSculpted(), LLVolumeParams::setRadiusOffset(), and LLVolumeParams::setRatio().
const U8 LL_PCODE_PATH_CIRCLE2 = 0x30 |
Definition at line 153 of file llvolume.h.
Referenced by LLPath::generate(), and LLPanelObject::getState().
const U8 LL_PCODE_PATH_FLEXIBLE = 0x80 |
Definition at line 155 of file llvolume.h.
Referenced by LLVOVolume::canBeFlexible(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), LLVOVolume::isFlexible(), LLVolume::LLVolume(), LLDrawable::makeActive(), LLVOVolume::setIsFlexible(), and LLVOVolume::setVolume().
const U8 LL_PCODE_PATH_IGNORE = 0x00 |
Definition at line 149 of file llvolume.h.
const U8 LL_PCODE_PATH_LINE = 0x10 |
Definition at line 151 of file llvolume.h.
Referenced by add_object(), LLVOVolume::canBeFlexible(), LLVolumeFace::createCap(), LLVolume::generate(), LLPath::generate(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), LLVolumeParams::isConvex(), LLPathParams::LLPathParams(), LLVOTextBubble::LLVOTextBubble(), LLVolumeMessage::packPathParams(), LLVOVolume::setIsFlexible(), and LLVolumeParams::setType().
const U8 LL_PCODE_PATH_MAX = 0x08 |
const U8 LL_PCODE_PATH_MIN = 0x01 |
const U8 LL_PCODE_PATH_TEST = 0x40 |
const LLPCode LL_PCODE_PRISM = 2 |
Definition at line 86 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const U8 LL_PCODE_PROFILE_CIRCLE = 0x00 |
Definition at line 132 of file llvolume.h.
Referenced by add_object(), LLVolume::generate(), LLProfile::generate(), LLVolume::generateFaceMask(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), LLImagePreviewSculpted::LLImagePreviewSculpted(), LLVOTextBubble::LLVOTextBubble(), LLVolumeMessage::packProfileParams(), and LLVolumeParams::setHollow().
const U8 LL_PCODE_PROFILE_CIRCLE_HALF = 0x05 |
Definition at line 137 of file llvolume.h.
Referenced by add_object(), LLVolumeFace::createSide(), LLProfile::generate(), LLVolume::generateFaceMask(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), LLVolumeParams::isConvex(), LLVolumeParams::setHollow(), LLVolumeParams::setRadiusOffset(), and LLVolumeParams::setRatio().
const U8 LL_PCODE_PROFILE_EQUALTRI = 0x03 |
Definition at line 135 of file llvolume.h.
Referenced by add_object(), LLVolume::generate(), LLProfile::generate(), LLVolume::generateFaceMask(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), and LLVolumeParams::setHollow().
const U8 LL_PCODE_PROFILE_ISOTRI = 0x02 |
Definition at line 134 of file llvolume.h.
Referenced by LLVolume::generate(), LLProfile::generate(), LLVolume::generateFaceMask(), and LLPanelObject::getState().
const U8 LL_PCODE_PROFILE_MASK = 0x0f |
Definition at line 130 of file llvolume.h.
Referenced by LLVolumeFace::createSide(), LLProfile::generate(), LLVolume::generateFaceMask(), LLPanelObject::getState(), LLVolumeParams::isConvex(), LLVolumeParams::setHollow(), LLVolumeParams::setRadiusOffset(), LLVolumeParams::setRatio(), and LLVolumeParams::setType().
const U8 LL_PCODE_PROFILE_MAX = 0x05 |
const U8 LL_PCODE_PROFILE_MIN = 0x00 |
Definition at line 131 of file llvolume.h.
const U8 LL_PCODE_PROFILE_RIGHTTRI = 0x04 |
Definition at line 136 of file llvolume.h.
Referenced by LLVolume::generate(), LLProfile::generate(), LLVolume::generateFaceMask(), and LLPanelObject::getState().
const U8 LL_PCODE_PROFILE_SQUARE = 0x01 |
Definition at line 133 of file llvolume.h.
Referenced by add_object(), LLVolumeFace::createCap(), LLVolume::generate(), LLProfile::generate(), LLVolume::generateFaceMask(), LLPanelObject::getState(), LLPanelObject::getVolumeParams(), LLProfileParams::LLProfileParams(), and LLVolumeParams::setType().
const LLPCode LL_PCODE_PYRAMID = 4 |
Definition at line 88 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_SEGMENT_MASK = 0x40 |
Definition at line 79 of file llvolume.h.
const LLPCode LL_PCODE_SPHERE = 7 |
Definition at line 91 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_TETRAHEDRON = 3 |
Definition at line 87 of file llvolume.h.
Referenced by add_object(), and LLPrimitive::pCodeToString().
const LLPCode LL_PCODE_TORUS = 8 |
Definition at line 124 of file llvolume.h.
const LLPCode LL_PCODE_TREE_NEW = 0x60 | LL_PCODE_LEGACY |
Definition at line 109 of file llvolume.h.
Referenced by add_object(), LLViewerObject::createObject(), LLPrimitive::legacyToPCode(), LLPrimitive::pCodeToLegacy(), LLPrimitive::pCodeToString(), and LLViewerWindow::performPick().
const LLPCode LL_PCODE_VOLUME = 9 |
Definition at line 93 of file llvolume.h.
Referenced by add_object(), LLViewerWindow::analyzeHit(), LLViewerObject::createObject(), LLSelectMgr::generateSilhouette(), LLPanelVolume::getState(), LLPanelObject::getState(), LLPanelFace::getState(), LLPanelContents::getState(), LLDrawable::getVOVolume(), handle_sit_or_stand(), LLObjectEnableSitOrStand::handleEvent(), LLToolSelectRect::handleRectangleSelection(), LLSelectMgr::highlightObjectAndFamily(), LLSelectMgr::highlightObjectOnly(), LLDrawable::isLight(), LLPrimitive::legacyToPCode(), LLDrawable::makeActive(), LLDrawable::makeStatic(), object_selected_and_point_valid(), LLPanelVolume::onCommitFlexible(), LLPanelVolume::onCommitLight(), LLPanelObject::onCommitParametric(), LLPanelVolume::onLightSelectColor(), LLPrimitive::pCodeToLegacy(), LLPrimitive::pCodeToString(), LLToolPipette::pickCallback(), LLPanelPermissions::refresh(), LLFloaterTools::refresh(), LLFloaterTelehub::refresh(), LLPanelVolume::sendIsFlexible(), LLPanelVolume::sendIsLight(), LLAgent::setFocusObject(), LLViewerObject::setScale(), LLSelectMgr::unhighlightObjectOnly(), LLViewerObject::updateDrawable(), LLToolDragAndDrop::willObjectAcceptInventory(), and LLVOAvatar::writeCAL3D().
const U8 LL_SCULPT_TYPE_CYLINDER = 4 |
Definition at line 181 of file llvolume.h.
Referenced by LLVolumeFace::createSide(), and LLVolume::sculpt().
const U8 LL_SCULPT_TYPE_NONE = 0 |
const U8 LL_SCULPT_TYPE_PLANE = 3 |
Definition at line 180 of file llvolume.h.
const U8 LL_SCULPT_TYPE_SPHERE = 1 |
Definition at line 178 of file llvolume.h.
Referenced by LLVolumeFace::createSide(), LLImagePreviewSculpted::LLImagePreviewSculpted(), LLSculptParams::LLSculptParams(), and LLVolume::sculpt().
const U8 LL_SCULPT_TYPE_TORUS = 2 |
Definition at line 179 of file llvolume.h.
Referenced by LLVolumeFace::createSide(), and LLVolume::sculpt().
Definition at line 60 of file llvolume.h.
Referenced by LLImagePreviewSculpted::LLImagePreviewSculpted().
const S32 MIN_DETAIL_FACES = 6 |
Definition at line 58 of file llvolume.h.
Referenced by LLPath::generate(), and LLProfile::generate().
Definition at line 59 of file llvolume.h.
Referenced by LLPath::generate(), LLProfile::generate(), LLVOTextBubble::LLVOTextBubble(), and LLVOVolume::LLVOVolume().
const F32 MIN_VOLUME_PATH_WIDTH = 0.05f |
Definition at line 66 of file llvolume.h.
const F32 MIN_VOLUME_PROFILE_WIDTH = 0.05f |
Definition at line 65 of file llvolume.h.
const F32 REV_QUANTA = 0.015f |
Definition at line 72 of file llvolume.h.
Referenced by LLPathParams::LLPathParams(), LLVolumeMessage::packPathParams(), and LLVolumeMessage::unpackPathParams().
const F32 SCALE_QUANTA = 0.01f |
Definition at line 69 of file llvolume.h.
Referenced by LLPathParams::LLPathParams(), LLVolumeMessage::packPathParams(), and LLVolumeMessage::unpackPathParams().
const F32 SHEAR_QUANTA = 0.01f |
Definition at line 70 of file llvolume.h.
Referenced by LLPathParams::LLPathParams(), LLVolumeMessage::packPathParams(), and LLVolumeMessage::unpackPathParams().
const F32 TAPER_QUANTA = 0.01f |
Definition at line 71 of file llvolume.h.
Referenced by LLPathParams::LLPathParams(), LLVolumeMessage::packPathParams(), and LLVolumeMessage::unpackPathParams().