本文整理汇总了C++中LLViewerRegion::getRegionFlag方法的典型用法代码示例。如果您正苦于以下问题:C++ LLViewerRegion::getRegionFlag方法的具体用法?C++ LLViewerRegion::getRegionFlag怎么用?C++ LLViewerRegion::getRegionFlag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLViewerRegion
的用法示例。
在下文中一共展示了LLViewerRegion::getRegionFlag方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onParcelIconClick
void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon)
{
switch (icon)
{
case VOICE_ICON:
LLNotificationsUtil::add("NoVoice");
break;
case FLY_ICON:
LLNotificationsUtil::add("NoFly");
break;
case PUSH_ICON:
LLNotificationsUtil::add("PushRestricted");
break;
case BUILD_ICON:
LLNotificationsUtil::add("NoBuild");
break;
case PATHFINDING_DIRTY_ICON:
// <FS:Zi> Pathfinding rebake functions
// LLNotificationsUtil::add("PathfindingDirty");
LLNotificationsUtil::add("PathfindingDirty",LLSD(),LLSD(),boost::bind(&LLLocationInputCtrl::rebakeRegionCallback,this,_1,_2));
// </FS:Zi>
break;
case PATHFINDING_DISABLED_ICON:
LLNotificationsUtil::add("DynamicPathfindingDisabled");
break;
case SCRIPTS_ICON:
{
LLViewerRegion* region = gAgent.getRegion();
if(region && region->getRegionFlag(REGION_FLAGS_ESTATE_SKIP_SCRIPTS))
{
LLNotificationsUtil::add("ScriptsStopped");
}
else if(region && region->getRegionFlag(REGION_FLAGS_SKIP_SCRIPTS))
{
LLNotificationsUtil::add("ScriptsNotRunning");
}
else
{
LLNotificationsUtil::add("NoOutsideScripts");
}
break;
}
case DAMAGE_ICON:
LLNotificationsUtil::add("NotSafe");
break;
case SEE_AVATARS_ICON:
LLNotificationsUtil::add("SeeAvatars");
break;
case ICON_COUNT:
break;
// no default to get compiler warning when a new icon gets added
}
}
示例2: onClickScripts
static void onClickScripts(void*)
{
LLViewerRegion* region = gAgent.getRegion();
if(region && region->getRegionFlag(REGION_FLAGS_ESTATE_SKIP_SCRIPTS))
{
LLNotificationsUtil::add("ScriptsStopped");
}
else if(region && region->getRegionFlag(REGION_FLAGS_SKIP_SCRIPTS))
{
LLNotificationsUtil::add("ScriptsNotRunning");
}
else
{
LLNotificationsUtil::add("NoOutsideScripts");
}
}
示例3: onParcelIconClick
void LLPanelTopInfoBar::onParcelIconClick(EParcelIcon icon)
{
switch (icon)
{
case VOICE_ICON:
LLNotificationsUtil::add("NoVoice");
break;
case FLY_ICON:
LLNotificationsUtil::add("NoFly");
break;
case PUSH_ICON:
LLNotificationsUtil::add("PushRestricted");
break;
case BUILD_ICON:
LLNotificationsUtil::add("NoBuild");
break;
case SCRIPTS_ICON:
{
LLViewerRegion* region = gAgent.getRegion();
if(region && region->getRegionFlag(REGION_FLAGS_ESTATE_SKIP_SCRIPTS))
{
LLNotificationsUtil::add("ScriptsStopped");
}
else if(region && region->getRegionFlag(REGION_FLAGS_SKIP_SCRIPTS))
{
LLNotificationsUtil::add("ScriptsNotRunning");
}
else
{
LLNotificationsUtil::add("NoOutsideScripts");
}
break;
}
case DAMAGE_ICON:
LLNotificationsUtil::add("NotSafe");
break;
case SEE_AVATARS_ICON:
LLNotificationsUtil::add("SeeAvatars");
break;
case ICON_COUNT:
break;
// no default to get compiler warning when a new icon gets added
}
}
示例4: addDuplicate
// Used by the placer tool to add copies of the current selection.
// Inspired by add_object(). JC
BOOL LLToolPlacer::addDuplicate(S32 x, S32 y)
{
LLVector3 ray_start_region;
LLVector3 ray_end_region;
LLViewerRegion* regionp = NULL;
BOOL b_hit_land = FALSE;
S32 hit_face = -1;
LLViewerObject* hit_obj = NULL;
BOOL success = raycastForNewObjPos( x, y, &hit_obj, &hit_face, &b_hit_land, &ray_start_region, &ray_end_region, ®ionp );
if( !success )
{
make_ui_sound("UISndInvalidOp");
return FALSE;
}
if( hit_obj && (hit_obj->isAvatar() || hit_obj->isAttachment()) )
{
// Can't create objects on avatars or attachments
make_ui_sound("UISndInvalidOp");
return FALSE;
}
// Limit raycast to a single object.
// Speeds up server raycast + avoid problems with server ray hitting objects
// that were clipped by the near plane or culled on the viewer.
LLUUID ray_target_id;
if( hit_obj )
{
ray_target_id = hit_obj->getID();
}
else
{
ray_target_id.setNull();
}
LLSelectMgr::getInstance()->selectDuplicateOnRay(ray_start_region,
ray_end_region,
b_hit_land, // suppress raycast
FALSE, // intersection
ray_target_id,
gSavedSettings.getBOOL("CreateToolCopyCenters"),
gSavedSettings.getBOOL("CreateToolCopyRotates"),
FALSE); // select copy
if (regionp
&& (regionp->getRegionFlag(REGION_FLAGS_SANDBOX)))
{
//LLFirstUse::useSandbox();
}
return TRUE;
}
示例5: refresh
// public
void LLPanelLandInfo::refresh()
{
LLParcel *parcel = LLViewerParcelMgr::getInstance()->getParcelSelection()->getParcel();
LLViewerRegion *regionp = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if (!parcel || !regionp)
{
// nothing selected, disable panel
childSetVisible("label_area_price",false);
childSetVisible("label_area",false);
//mTextPrice->setText(LLStringUtil::null);
childSetText("textbox price",LLStringUtil::null);
childSetEnabled("button buy land",FALSE);
childSetEnabled("button abandon land",FALSE);
childSetEnabled("button subdivide land",FALSE);
childSetEnabled("button join land",FALSE);
childSetEnabled("button about land",FALSE);
}
else
{
// something selected, hooray!
const LLUUID& owner_id = parcel->getOwnerID();
const LLUUID& auth_buyer_id = parcel->getAuthorizedBuyerID();
BOOL is_public = parcel->isPublic();
BOOL is_for_sale = parcel->getForSale()
&& ((parcel->getSalePrice() > 0) || (auth_buyer_id.notNull()));
BOOL can_buy = (is_for_sale
&& (owner_id != gAgent.getID())
&& ((gAgent.getID() == auth_buyer_id)
|| (auth_buyer_id.isNull())));
if (is_public && !LLViewerParcelMgr::getInstance()->getParcelSelection()->getMultipleOwners())
{
getChildView("button buy land")->setEnabled(TRUE);
}
else
{
getChildView("button buy land")->setEnabled(can_buy);
}
BOOL owner_release = LLViewerParcelMgr::isParcelOwnedByAgent(parcel, GP_LAND_RELEASE);
BOOL owner_divide = LLViewerParcelMgr::isParcelOwnedByAgent(parcel, GP_LAND_DIVIDE_JOIN);
BOOL manager_releaseable = ( gAgent.canManageEstate()
&& (parcel->getOwnerID() == regionp->getOwner()) );
BOOL manager_divideable = ( gAgent.canManageEstate()
&& ((parcel->getOwnerID() == regionp->getOwner()) || owner_divide) );
childSetEnabled("button abandon land",owner_release || manager_releaseable || gAgent.isGodlike());
// only mainland sims are subdividable by owner
if (regionp->getRegionFlag(REGION_FLAGS_ALLOW_PARCEL_CHANGES))
{
childSetEnabled("button subdivide land",owner_divide || manager_divideable || gAgent.isGodlike());
}
else
{
childSetEnabled("button subdivide land",manager_divideable || gAgent.isGodlike());
}
// To join land, must have something selected,
// not just a single unit of land,
// you must own part of it,
// and it must not be a whole parcel.
if (LLViewerParcelMgr::getInstance()->getSelectedArea() > PARCEL_UNIT_AREA
//&& LLViewerParcelMgr::getInstance()->getSelfCount() > 1
&& !LLViewerParcelMgr::getInstance()->getParcelSelection()->getWholeParcelSelected())
{
childSetEnabled("button join land",TRUE);
}
else
{
lldebugs << "Invalid selection for joining land" << llendl;
childSetEnabled("button join land",FALSE);
}
childSetEnabled("button about land",TRUE);
// show pricing information
S32 area;
S32 claim_price;
S32 rent_price;
BOOL for_sale;
F32 dwell;
LLViewerParcelMgr::getInstance()->getDisplayInfo(&area,
&claim_price,
&rent_price,
&for_sale,
&dwell);
if(is_public || (is_for_sale && LLViewerParcelMgr::getInstance()->getParcelSelection()->getWholeParcelSelected()))
{
childSetTextArg("label_area_price","[CURRENCY]", gHippoGridManager->getConnectedGrid()->getCurrencySymbol());
childSetTextArg("label_area_price","[PRICE]", llformat("%d",claim_price));
childSetTextArg("label_area_price","[AREA]", llformat("%d",area));
childSetVisible("label_area_price",true);
//.........这里部分代码省略.........
示例6: refresh
//.........这里部分代码省略.........
if ((region && region->getBlockFly()) ||
(parcel && !parcel->getAllowFly()) )
{
// No Fly Zone
childGetRect( "no_fly", buttonRect );
childSetVisible( "no_fly", true );
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
childSetRect( "no_fly", r );
x += buttonRect.getWidth();
}
else
{
// Fly Zone
childSetVisible("no_fly", false);
}
BOOL no_build = parcel && !parcel->getAllowModify();
if (no_build)
{
childSetVisible("no_build", TRUE);
childGetRect( "no_build", buttonRect );
// No Build Zone
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
childSetRect( "no_build", r );
x += buttonRect.getWidth();
}
else
{
childSetVisible("no_build", FALSE);
}
BOOL no_scripts = FALSE;
if((region
&& (region->getRegionFlag(REGION_FLAGS_SKIP_SCRIPTS)
|| region->getRegionFlag(REGION_FLAGS_ESTATE_SKIP_SCRIPTS)))
|| (parcel && !parcel->getAllowOtherScripts()))
{
no_scripts = TRUE;
}
if (no_scripts)
{
// No scripts
childSetVisible("no_scripts", TRUE);
childGetRect( "no_scripts", buttonRect );
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
childSetRect( "no_scripts", r );
x += buttonRect.getWidth();
}
else
{
// Yes scripts
childSetVisible("no_scripts", FALSE);
}
BOOL no_region_push = (region && region->getRestrictPushObject());
BOOL no_push = no_region_push || (parcel && parcel->getRestrictPushObject());
if (no_push)
{
childSetVisible("restrictpush", TRUE);
childGetRect( "restrictpush", buttonRect );
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
childSetRect( "restrictpush", r );
x += buttonRect.getWidth();
}
else
{
示例7: addObject
BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
{
LLVector3 ray_start_region;
LLVector3 ray_end_region;
LLViewerRegion* regionp = NULL;
BOOL b_hit_land = FALSE;
S32 hit_face = -1;
LLViewerObject* hit_obj = NULL;
U8 state = 0;
BOOL success = raycastForNewObjPos( x, y, &hit_obj, &hit_face, &b_hit_land, &ray_start_region, &ray_end_region, ®ionp );
if( !success )
{
return FALSE;
}
if( hit_obj && (hit_obj->isAvatar() || hit_obj->isAttachment()) )
{
// Can't create objects on avatars or attachments
return FALSE;
}
if (NULL == regionp)
{
llwarns << "regionp was NULL; aborting function." << llendl;
return FALSE;
}
if (regionp->getRegionFlag(REGION_FLAGS_SANDBOX))
{
//LLFirstUse::useSandbox();
}
// Set params for new object based on its PCode.
LLQuaternion rotation;
LLVector3 scale = LLVector3(
gSavedSettings.getF32("FSBuildPrefs_Xsize"),
gSavedSettings.getF32("FSBuildPrefs_Ysize"),
gSavedSettings.getF32("FSBuildPrefs_Zsize"));
U8 material = LL_MCODE_WOOD;
const std::string default_material = gSavedSettings.getString("FSBuildPrefs_Material");
if (default_material == "Wood") material = LL_MCODE_WOOD;
else if (default_material == "Stone") material = LL_MCODE_STONE;
else if (default_material == "Metal") material = LL_MCODE_METAL;
else if (default_material == "Glass") material = LL_MCODE_GLASS;
else if (default_material == "Flesh") material = LL_MCODE_FLESH;
else if (default_material == "Rubber") material = LL_MCODE_RUBBER;
else if (default_material == "Plastic") material = LL_MCODE_PLASTIC;
BOOL create_selected = FALSE;
LLVolumeParams volume_params;
switch (pcode)
{
case LL_PCODE_LEGACY_GRASS:
// Randomize size of grass patch
scale.setVec(10.f + ll_frand(20.f), 10.f + ll_frand(20.f), 1.f + ll_frand(2.f));
state = rand() % LLVOGrass::sMaxGrassSpecies;
break;
case LL_PCODE_LEGACY_TREE:
case LL_PCODE_TREE_NEW:
state = rand() % LLVOTree::sMaxTreeSpecies;
break;
case LL_PCODE_SPHERE:
case LL_PCODE_CONE:
case LL_PCODE_CUBE:
case LL_PCODE_CYLINDER:
case LL_PCODE_TORUS:
case LLViewerObject::LL_VO_SQUARE_TORUS:
case LLViewerObject::LL_VO_TRIANGLE_TORUS:
default:
create_selected = TRUE;
break;
}
// Play creation sound
// <FS:PP> Configurable UI sounds
//if (gAudiop)
if (gAudiop && gSavedSettings.getBOOL("PlayModeUISndObjectCreate"))
// </FS:PP>
{
gAudiop->triggerSound( LLUUID(gSavedSettings.getString("UISndObjectCreate")),
gAgent.getID(), 1.0f, LLAudioEngine::AUDIO_TYPE_UI);
}
gMessageSystem->newMessageFast(_PREHASH_ObjectAdd);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
LLUUID group_id = gAgent.getGroupID();
LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if (gSavedSettings.getBOOL("RezUnderLandGroup"))
{
if (gAgent.isInGroup(parcel->getGroupID()))
{
group_id = parcel->getGroupID();
}
//.........这里部分代码省略.........
示例8: updateCovenantInfo
void LLFloaterBuyLandUI::updateCovenantInfo()
{
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if(!region) return;
U8 sim_access = region->getSimAccess();
std::string rating = LLViewerRegion::accessToString(sim_access);
LLTextBox* region_name = getChild<LLTextBox>("region_name_text");
if (region_name)
{
std::string region_name_txt = region->getName() + " ("+rating +")";
region_name->setText(region_name_txt);
LLIconCtrl* rating_icon = getChild<LLIconCtrl>("rating_icon");
LLRect rect = rating_icon->getRect();
S32 region_name_width = llmin(region_name->getRect().getWidth(), region_name->getTextBoundingRect().getWidth());
S32 icon_left_pad = region_name->getRect().mLeft + region_name_width + ICON_PAD;
region_name->setToolTip(region_name->getText());
rating_icon->setRect(rect.setOriginAndSize(icon_left_pad, rect.mBottom, rect.getWidth(), rect.getHeight()));
switch(sim_access)
{
case SIM_ACCESS_PG:
rating_icon->setValue(getString("icon_PG"));
break;
case SIM_ACCESS_ADULT:
rating_icon->setValue(getString("icon_R"));
break;
default:
rating_icon->setValue(getString("icon_M"));
}
}
LLTextBox* region_type = getChild<LLTextBox>("region_type_text");
if (region_type)
{
region_type->setText(region->getLocalizedSimProductName());
region_type->setToolTip(region->getLocalizedSimProductName());
}
LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
if (resellable_clause)
{
if (region->getRegionFlag(REGION_FLAGS_BLOCK_LAND_RESELL))
{
resellable_clause->setText(getString("can_not_resell"));
}
else
{
resellable_clause->setText(getString("can_resell"));
}
}
LLTextBox* changeable_clause = getChild<LLTextBox>("changeable_clause");
if (changeable_clause)
{
if (region->getRegionFlag(REGION_FLAGS_ALLOW_PARCEL_CHANGES))
{
changeable_clause->setText(getString("can_change"));
}
else
{
changeable_clause->setText(getString("can_not_change"));
}
}
LLCheckBoxCtrl* check = getChild<LLCheckBoxCtrl>("agree_covenant");
if(check)
{
check->set(false);
check->setEnabled(true);
check->setCommitCallback(onChangeAgreeCovenant, this);
}
LLTextBox* box = getChild<LLTextBox>("covenant_text");
if(box)
{
box->setVisible(FALSE);
}
// send EstateCovenantInfo message
LLMessageSystem *msg = gMessageSystem;
msg->newMessage("EstateCovenantRequest");
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID,gAgent.getSessionID());
msg->sendReliable(region->getHost());
}
示例9: updateCovenantInfo
void LLFloaterBuyLandUI::updateCovenantInfo()
{
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if(!region) return;
U8 sim_access = region->getSimAccess();
std::string rating = LLViewerRegion::accessToString(sim_access);
LLTextBox* region_name = getChild<LLTextBox>("region_name_text");
if (region_name)
{
std::string region_name_txt = region->getName() + " ("+rating +")";
region_name->setText(region_name_txt);
region_name->setToolTip(region_name->getText());
}
LLTextBox* region_type = getChild<LLTextBox>("region_type_text");
if (region_type)
{
region_type->setText(region->getLocalizedSimProductName());
region_type->setToolTip(region->getLocalizedSimProductName());
}
LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
if (resellable_clause)
{
if (region->getRegionFlag(REGION_FLAGS_BLOCK_LAND_RESELL))
{
resellable_clause->setText(getString("can_not_resell"));
}
else
{
resellable_clause->setText(getString("can_resell"));
}
}
LLTextBox* changeable_clause = getChild<LLTextBox>("changeable_clause");
if (changeable_clause)
{
if (region->getRegionFlag(REGION_FLAGS_ALLOW_PARCEL_CHANGES))
{
changeable_clause->setText(getString("can_change"));
}
else
{
changeable_clause->setText(getString("can_not_change"));
}
}
LLCheckBoxCtrl* check = getChild<LLCheckBoxCtrl>("agree_covenant");
if(check)
{
check->set(false);
check->setEnabled(true);
check->setCommitCallback(boost::bind(&LLFloaterBuyLandUI::onChangeAgreeCovenant,_1,(void*)this));
}
LLTextBox* box = getChild<LLTextBox>("covenant_text");
if(box)
{
box->setVisible(FALSE);
}
// send EstateCovenantInfo message
LLMessageSystem *msg = gMessageSystem;
msg->newMessage("EstateCovenantRequest");
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID,gAgent.getSessionID());
msg->sendReliable(region->getHost());
}
示例10: refresh
//.........这里部分代码省略.........
}
if ((region && region->getBlockFly()) ||
(parcel && !parcel->getAllowFly()) )
{
// No Fly Zone
mNoFly->setVisible(true);
const LLRect& buttonRect(mNoFly->getRect());
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
mNoFly->setRect(r);
x += buttonRect.getWidth();
}
else
{
// Fly Zone
mNoFly->setVisible(false);
}
if (parcel && !parcel->getAllowModify())
{
// No Build Zone
mNoBuild->setVisible(true);
const LLRect& buttonRect(mNoBuild->getRect());
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
mNoBuild->setRect(r);
x += buttonRect.getWidth();
}
else
{
mNoBuild->setVisible(false);
}
if ((region
&& (region->getRegionFlag(REGION_FLAGS_SKIP_SCRIPTS)
|| region->getRegionFlag(REGION_FLAGS_ESTATE_SKIP_SCRIPTS)))
|| (parcel && !parcel->getAllowOtherScripts()))
{
// No scripts
mNoScripts->setVisible(true);
const LLRect& buttonRect(mNoScripts->getRect());
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
mNoScripts->setRect(r);
x += buttonRect.getWidth();
}
else
{
// Yes scripts
mNoScripts->setVisible(false);
}
if ((region && region->getRestrictPushObject()) || (parcel && parcel->getRestrictPushObject()))
{
mRestrictPush->setVisible(true);
const LLRect& buttonRect(mRestrictPush->getRect());
r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
mRestrictPush->setRect(r);
x += buttonRect.getWidth();
}
else
{
mRestrictPush->setVisible(false);
}
if (parcel && parcel->getParcelFlagAllowVoice())
{
mStatusNoVoice->setVisible(false);