diff options
Diffstat (limited to 'indra/newview/llglsandbox.cpp')
| -rw-r--r-- | indra/newview/llglsandbox.cpp | 117 | 
1 files changed, 14 insertions, 103 deletions
diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 750a9d478f..2aba0b5c09 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -71,99 +71,6 @@  // Height of the yellow selection highlight posts for land  const F32 PARCEL_POST_HEIGHT = 0.666f; -BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position) -{ -	if(object && object->isAttachment()) -	{ -		LLViewerObject* parent = object; -		while(parent) -		{ -			if (parent == mAvatarObject) -			{ -				// looking at an attachment on ourselves, which we don't want to do -				object = mAvatarObject; -				position.clearVec(); -			} -			parent = (LLViewerObject*)parent->getParent(); -		} -	} -	if(!mLookAt || mLookAt->isDead()) -	{ -		mLookAt = (LLHUDEffectLookAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_LOOKAT); -		mLookAt->setSourceObject(mAvatarObject); -	} - -	return mLookAt->setLookAt(target_type, object, position); -} - -BOOL LLAgent::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position) -{ -	// disallow pointing at attachments and avatars -	if (object && (object->isAttachment() || object->isAvatar())) -	{ -		return FALSE; -	} - -	if(!mPointAt || mPointAt->isDead()) -	{ -		mPointAt = (LLHUDEffectPointAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINTAT); -		mPointAt->setSourceObject(mAvatarObject); -	} - -	return mPointAt->setPointAt(target_type, object, position); -} - -ELookAtType LLAgent::getLookAtType() -{  -	if (mLookAt)  -	{ -		return mLookAt->getLookAtType(); -	} - -	return LOOKAT_TARGET_NONE; -} - -EPointAtType LLAgent::getPointAtType() -{  -	if (mPointAt)  -	{ -		return mPointAt->getPointAtType(); -	} - -	return POINTAT_TARGET_NONE; -} - -// Draw a representation of current autopilot target -void LLAgent::renderAutoPilotTarget() -{ -	if (mAutoPilot) -	{ -		F32 height_meters; -		LLVector3d target_global; - -		glMatrixMode(GL_MODELVIEW); -		gGL.pushMatrix(); - -		// not textured -		gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); - -		// lovely green -		glColor4f(0.f, 1.f, 1.f, 1.f); - -		target_global = mAutoPilotTargetGlobal; - -		gGL.translatef((F32)(target_global.mdV[VX]), (F32)(target_global.mdV[VY]), (F32)(target_global.mdV[VZ])); - -		height_meters = 1.f; - -		glScalef(height_meters, height_meters, height_meters); - -		gSphere.render(1500.f); - -		gGL.popMatrix(); -	} -} -  // Returns true if you got at least one object  void LLToolSelectRect::handleRectangleSelection(S32 x, S32 y, MASK mask)  { @@ -897,19 +804,21 @@ void LLViewerObjectList::renderObjectBeacons()  		S32 last_line_width = -1;  		// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width) -		for (S32 i = 0; i < mDebugBeacons.count(); i++) +		BOOL flush = FALSE; +		for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)  		{ -			const LLDebugBeacon &debug_beacon = mDebugBeacons[i]; +			const LLDebugBeacon &debug_beacon = *iter;  			LLColor4 color = debug_beacon.mColor;  			color.mV[3] *= 0.25f;  			S32 line_width = debug_beacon.mLineWidth;  			if (line_width != last_line_width)  			{ -				if (i > 0) +				if (flush)  				{  					gGL.end(); -					gGL.flush();  				} +				flush = TRUE; +				gGL.flush();  				glLineWidth( (F32)line_width );  				last_line_width = line_width;  				gGL.begin(LLRender::LINES); @@ -936,18 +845,20 @@ void LLViewerObjectList::renderObjectBeacons()  		S32 last_line_width = -1;  		// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width) -		for (S32 i = 0; i < mDebugBeacons.count(); i++) +		BOOL flush = FALSE; +		for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)  		{ -			const LLDebugBeacon &debug_beacon = mDebugBeacons[i]; +			const LLDebugBeacon &debug_beacon = *iter;  			S32 line_width = debug_beacon.mLineWidth;  			if (line_width != last_line_width)  			{ -				if (i > 0) +				if (flush)  				{  					gGL.end(); -					gGL.flush();  				} +				flush = TRUE; +				gGL.flush();  				glLineWidth( (F32)line_width );  				last_line_width = line_width;  				gGL.begin(LLRender::LINES); @@ -969,9 +880,9 @@ void LLViewerObjectList::renderObjectBeacons()  		gGL.flush();  		glLineWidth(1.f); -		for (S32 i = 0; i < mDebugBeacons.count(); i++) +		for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)  		{ -			LLDebugBeacon &debug_beacon = mDebugBeacons[i]; +			LLDebugBeacon &debug_beacon = *iter;  			if (debug_beacon.mString == "")  			{  				continue;  | 
