diff options
Diffstat (limited to 'indra/newview/llagentui.cpp')
-rw-r--r-- | indra/newview/llagentui.cpp | 234 |
1 files changed, 117 insertions, 117 deletions
diff --git a/indra/newview/llagentui.cpp b/indra/newview/llagentui.cpp index acb1a37ff5..6657ed9857 100644 --- a/indra/newview/llagentui.cpp +++ b/indra/newview/llagentui.cpp @@ -1,25 +1,25 @@ -/** +/** * @file llagentui.cpp * @brief Utility methods to process agent's data as slurl's etc. before displaying * * $LicenseInfo:firstyear=2009&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -42,8 +42,8 @@ //static void LLAgentUI::buildFullname(std::string& name) { - if (isAgentAvatarValid()) - name = gAgentAvatarp->getFullname(); + if (isAgentAvatarValid()) + name = gAgentAvatarp->getFullname(); } //static @@ -64,131 +64,131 @@ void LLAgentUI::buildSLURL(LLSLURL& slurl, const bool escaped /*= true*/) return_slurl = LLSLURL(regionp->getName(), global_pos); } - slurl = return_slurl; + slurl = return_slurl; } //static BOOL LLAgentUI::checkAgentDistance(const LLVector3& pole, F32 radius) { - F32 delta_x = gAgent.getPositionAgent().mV[VX] - pole.mV[VX]; - F32 delta_y = gAgent.getPositionAgent().mV[VY] - pole.mV[VY]; - - return sqrt( delta_x* delta_x + delta_y* delta_y ) < radius; + F32 delta_x = gAgent.getPositionAgent().mV[VX] - pole.mV[VX]; + F32 delta_y = gAgent.getPositionAgent().mV[VY] - pole.mV[VY]; + + return sqrt( delta_x* delta_x + delta_y* delta_y ) < radius; } BOOL LLAgentUI::buildLocationString(std::string& str, ELocationFormat fmt,const LLVector3& agent_pos_region) { - LLViewerRegion* region = gAgent.getRegion(); - LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); + LLViewerRegion* region = gAgent.getRegion(); + LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); - if (!region || !parcel) return FALSE; + if (!region || !parcel) return FALSE; - S32 pos_x = S32(agent_pos_region.mV[VX] + 0.5f); - S32 pos_y = S32(agent_pos_region.mV[VY] + 0.5f); - S32 pos_z = S32(agent_pos_region.mV[VZ] + 0.5f); + S32 pos_x = S32(agent_pos_region.mV[VX] + 0.5f); + S32 pos_y = S32(agent_pos_region.mV[VY] + 0.5f); + S32 pos_z = S32(agent_pos_region.mV[VZ] + 0.5f); - // Round the numbers based on the velocity - F32 velocity_mag_sq = gAgent.getVelocity().magVecSquared(); + // Round the numbers based on the velocity + F32 velocity_mag_sq = gAgent.getVelocity().magVecSquared(); - const F32 FLY_CUTOFF = 6.f; // meters/sec - const F32 FLY_CUTOFF_SQ = FLY_CUTOFF * FLY_CUTOFF; - const F32 WALK_CUTOFF = 1.5f; // meters/sec - const F32 WALK_CUTOFF_SQ = WALK_CUTOFF * WALK_CUTOFF; + const F32 FLY_CUTOFF = 6.f; // meters/sec + const F32 FLY_CUTOFF_SQ = FLY_CUTOFF * FLY_CUTOFF; + const F32 WALK_CUTOFF = 1.5f; // meters/sec + const F32 WALK_CUTOFF_SQ = WALK_CUTOFF * WALK_CUTOFF; - if (velocity_mag_sq > FLY_CUTOFF_SQ) - { - pos_x -= pos_x % 4; - pos_y -= pos_y % 4; - } - else if (velocity_mag_sq > WALK_CUTOFF_SQ) - { - pos_x -= pos_x % 2; - pos_y -= pos_y % 2; - } + if (velocity_mag_sq > FLY_CUTOFF_SQ) + { + pos_x -= pos_x % 4; + pos_y -= pos_y % 4; + } + else if (velocity_mag_sq > WALK_CUTOFF_SQ) + { + pos_x -= pos_x % 2; + pos_y -= pos_y % 2; + } - // create a default name and description for the landmark - std::string parcel_name = LLViewerParcelMgr::getInstance()->getAgentParcelName(); - std::string region_name = region->getName(); - std::string sim_access_string = region->getSimAccessString(); - std::string buffer; - if( parcel_name.empty() ) - { - // the parcel doesn't have a name - switch (fmt) - { - case LOCATION_FORMAT_LANDMARK: - buffer = llformat("%.100s", region_name.c_str()); - break; - case LOCATION_FORMAT_NORMAL: - buffer = llformat("%s", region_name.c_str()); - break; - case LOCATION_FORMAT_NORMAL_COORDS: - buffer = llformat("%s (%d, %d, %d)", - region_name.c_str(), - pos_x, pos_y, pos_z); - break; - case LOCATION_FORMAT_NO_COORDS: - buffer = llformat("%s%s%s", - region_name.c_str(), - sim_access_string.empty() ? "" : " - ", - sim_access_string.c_str()); - break; - case LOCATION_FORMAT_NO_MATURITY: - buffer = llformat("%s (%d, %d, %d)", - region_name.c_str(), - pos_x, pos_y, pos_z); - break; - case LOCATION_FORMAT_FULL: - buffer = llformat("%s (%d, %d, %d)%s%s", - region_name.c_str(), - pos_x, pos_y, pos_z, - sim_access_string.empty() ? "" : " - ", - sim_access_string.c_str()); - break; - } - } - else - { - // the parcel has a name, so include it in the landmark name - switch (fmt) - { - case LOCATION_FORMAT_LANDMARK: - buffer = llformat("%.100s", parcel_name.c_str()); - break; - case LOCATION_FORMAT_NORMAL: - buffer = llformat("%s, %s", parcel_name.c_str(), region_name.c_str()); - break; - case LOCATION_FORMAT_NORMAL_COORDS: - buffer = llformat("%s (%d, %d, %d)", - parcel_name.c_str(), - pos_x, pos_y, pos_z); - break; - case LOCATION_FORMAT_NO_MATURITY: - buffer = llformat("%s, %s (%d, %d, %d)", - parcel_name.c_str(), - region_name.c_str(), - pos_x, pos_y, pos_z); - break; - case LOCATION_FORMAT_NO_COORDS: - buffer = llformat("%s, %s%s%s", - parcel_name.c_str(), - region_name.c_str(), - sim_access_string.empty() ? "" : " - ", - sim_access_string.c_str()); - break; - case LOCATION_FORMAT_FULL: - buffer = llformat("%s, %s (%d, %d, %d)%s%s", - parcel_name.c_str(), - region_name.c_str(), - pos_x, pos_y, pos_z, - sim_access_string.empty() ? "" : " - ", - sim_access_string.c_str()); - break; - } - } - str = buffer; - return TRUE; + // create a default name and description for the landmark + std::string parcel_name = LLViewerParcelMgr::getInstance()->getAgentParcelName(); + std::string region_name = region->getName(); + std::string sim_access_string = region->getSimAccessString(); + std::string buffer; + if( parcel_name.empty() ) + { + // the parcel doesn't have a name + switch (fmt) + { + case LOCATION_FORMAT_LANDMARK: + buffer = llformat("%.100s", region_name.c_str()); + break; + case LOCATION_FORMAT_NORMAL: + buffer = llformat("%s", region_name.c_str()); + break; + case LOCATION_FORMAT_NORMAL_COORDS: + buffer = llformat("%s (%d, %d, %d)", + region_name.c_str(), + pos_x, pos_y, pos_z); + break; + case LOCATION_FORMAT_NO_COORDS: + buffer = llformat("%s%s%s", + region_name.c_str(), + sim_access_string.empty() ? "" : " - ", + sim_access_string.c_str()); + break; + case LOCATION_FORMAT_NO_MATURITY: + buffer = llformat("%s (%d, %d, %d)", + region_name.c_str(), + pos_x, pos_y, pos_z); + break; + case LOCATION_FORMAT_FULL: + buffer = llformat("%s (%d, %d, %d)%s%s", + region_name.c_str(), + pos_x, pos_y, pos_z, + sim_access_string.empty() ? "" : " - ", + sim_access_string.c_str()); + break; + } + } + else + { + // the parcel has a name, so include it in the landmark name + switch (fmt) + { + case LOCATION_FORMAT_LANDMARK: + buffer = llformat("%.100s", parcel_name.c_str()); + break; + case LOCATION_FORMAT_NORMAL: + buffer = llformat("%s, %s", parcel_name.c_str(), region_name.c_str()); + break; + case LOCATION_FORMAT_NORMAL_COORDS: + buffer = llformat("%s (%d, %d, %d)", + parcel_name.c_str(), + pos_x, pos_y, pos_z); + break; + case LOCATION_FORMAT_NO_MATURITY: + buffer = llformat("%s, %s (%d, %d, %d)", + parcel_name.c_str(), + region_name.c_str(), + pos_x, pos_y, pos_z); + break; + case LOCATION_FORMAT_NO_COORDS: + buffer = llformat("%s, %s%s%s", + parcel_name.c_str(), + region_name.c_str(), + sim_access_string.empty() ? "" : " - ", + sim_access_string.c_str()); + break; + case LOCATION_FORMAT_FULL: + buffer = llformat("%s, %s (%d, %d, %d)%s%s", + parcel_name.c_str(), + region_name.c_str(), + pos_x, pos_y, pos_z, + sim_access_string.empty() ? "" : " - ", + sim_access_string.c_str()); + break; + } + } + str = buffer; + return TRUE; } BOOL LLAgentUI::buildLocationString(std::string& str, ELocationFormat fmt) { - return buildLocationString(str,fmt, gAgent.getPositionAgent()); + return buildLocationString(str,fmt, gAgent.getPositionAgent()); } |