Skip to content
Snippets Groups Projects
Commit 3cb07759 authored by Rye Mutt's avatar Rye Mutt :bread:
Browse files

Add support for all those weird prim types

parent 6fe43495
No related branches found
No related tags found
No related merge requests found
...@@ -84,6 +84,20 @@ enum { ...@@ -84,6 +84,20 @@ enum {
MI_TUBE, MI_TUBE,
MI_RING, MI_RING,
MI_SCULPT, MI_SCULPT,
MI_PATH_LINE_PROFILE_CIRCLE_HALF,
MI_PATH_CIRCLE_PROFILE_CIRCLE_HALF,
MI_PATH_CIRCLE2_PROFILE_SQUARE,
MI_PATH_CIRCLE2_PROFILE_TRI,
MI_PATH_CIRCLE2_PROFILE_CIRCLE,
MI_PATH_CIRCLE2_PROFILE_CIRCLE_HALF,
MI_PATH_TEST_PROFILE_SQUARE,
MI_PATH_TEST_PROFILE_TRI,
MI_PATH_TEST_PROFILE_CIRCLE,
MI_PATH_TEST_PROFILE_CIRCLE_HALF,
MI_PATH_33_PROFILE_CIRCLE,
MI_PATH_33_PROFILE_SQUARE,
MI_PATH_33_PROFILE_TRIANGLE,
MI_PATH_33_PROFILE_HALFCIRCLE,
MI_NONE, MI_NONE,
MI_VOLUME_COUNT MI_VOLUME_COUNT
}; };
...@@ -631,6 +645,54 @@ void LLPanelObject::getState( ) ...@@ -631,6 +645,54 @@ void LLPanelObject::getState( )
{ {
selected_item = MI_TUBE; selected_item = MI_TUBE;
} }
else if ( path == LL_PCODE_PATH_CIRCLE2 && profile == LL_PCODE_PROFILE_EQUALTRI )
{
selected_item = MI_PATH_CIRCLE2_PROFILE_TRI;
}
else if ( path == LL_PCODE_PATH_CIRCLE2 && profile == LL_PCODE_PROFILE_SQUARE )
{
selected_item = MI_PATH_CIRCLE2_PROFILE_SQUARE;
}
else if ( path == LL_PCODE_PATH_CIRCLE2 && profile == LL_PCODE_PROFILE_CIRCLE_HALF )
{
selected_item = MI_PATH_CIRCLE2_PROFILE_CIRCLE_HALF;
}
else if ( path == LL_PCODE_PATH_TEST && profile == LL_PCODE_PROFILE_SQUARE )
{
selected_item = MI_PATH_TEST_PROFILE_SQUARE;
}
else if ( path == LL_PCODE_PATH_TEST && profile == LL_PCODE_PROFILE_EQUALTRI )
{
selected_item = MI_PATH_TEST_PROFILE_TRI;
}
else if ( path == LL_PCODE_PATH_TEST && profile == LL_PCODE_PROFILE_CIRCLE )
{
selected_item = MI_PATH_TEST_PROFILE_CIRCLE;
}
else if ( path == LL_PCODE_PATH_TEST && profile == LL_PCODE_PROFILE_CIRCLE_HALF )
{
selected_item = MI_PATH_TEST_PROFILE_CIRCLE_HALF;
}
else if ( path == LL_PCODE_PATH_LINE && profile == LL_PCODE_PROFILE_CIRCLE_HALF )
{
selected_item = MI_PATH_LINE_PROFILE_CIRCLE_HALF;
}
else if ( path == LL_PCODE_PATH_CIRCLE_33 && profile == LL_PCODE_PROFILE_CIRCLE )
{
selected_item = MI_PATH_33_PROFILE_CIRCLE;
}
else if ( path == LL_PCODE_PATH_CIRCLE_33 && profile == LL_PCODE_PROFILE_SQUARE )
{
selected_item = MI_PATH_33_PROFILE_SQUARE;
}
else if ( path == LL_PCODE_PATH_CIRCLE_33 && profile == LL_PCODE_PROFILE_ISOTRI )
{
selected_item = MI_PATH_33_PROFILE_TRIANGLE;
}
else if ( path == LL_PCODE_PATH_CIRCLE_33 && profile == LL_PCODE_PROFILE_CIRCLE_HALF )
{
selected_item = MI_PATH_33_PROFILE_HALFCIRCLE;
}
else else
{ {
LL_INFOS() << "Unknown path " << (S32) path << " profile " << (S32) profile << " in getState" << LL_ENDL; LL_INFOS() << "Unknown path " << (S32) path << " profile " << (S32) profile << " in getState" << LL_ENDL;
...@@ -924,12 +986,24 @@ void LLPanelObject::getState( ) ...@@ -924,12 +986,24 @@ void LLPanelObject::getState( )
default: default:
if (editable) if (editable)
{ {
mSpinScaleX->set( 1.f - scale_x ); if (selected_item == MI_BOX || selected_item == MI_CYLINDER || selected_item == MI_PRISM)
mSpinScaleY->set( 1.f - scale_y ); {
mSpinScaleX->setMinValue(-1.f); mSpinScaleX->set( 1.f - scale_x );
mSpinScaleX->setMaxValue(1.f); mSpinScaleY->set( 1.f - scale_y );
mSpinScaleY->setMinValue(-1.f); mSpinScaleX->setMinValue(-1.f);
mSpinScaleY->setMaxValue(1.f); mSpinScaleX->setMaxValue(1.f);
mSpinScaleY->setMinValue(-1.f);
mSpinScaleY->setMaxValue(1.f);
}
else
{
mSpinScaleX->set( scale_x );
mSpinScaleY->set( scale_x );
mSpinScaleX->setMinValue(-4000.f);
mSpinScaleX->setMaxValue(4000.f);
mSpinScaleY->setMinValue(-4000.f);
mSpinScaleY->setMaxValue(4000.f);
}
// Torus' Hole Size is Box/Cyl/Prism's Taper // Torus' Hole Size is Box/Cyl/Prism's Taper
calcp->setVar(LLCalc::X_TAPER, 1.f - scale_x); calcp->setVar(LLCalc::X_TAPER, 1.f - scale_x);
...@@ -1325,6 +1399,76 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params) ...@@ -1325,6 +1399,76 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params)
path = LL_PCODE_PATH_CIRCLE; path = LL_PCODE_PATH_CIRCLE;
break; break;
case MI_PATH_LINE_PROFILE_CIRCLE_HALF:
profile = LL_PCODE_PROFILE_CIRCLE_HALF;
path = LL_PCODE_PATH_LINE;
break;
case MI_PATH_CIRCLE_PROFILE_CIRCLE_HALF:
profile = LL_PCODE_PROFILE_CIRCLE_HALF;
path = LL_PCODE_PATH_CIRCLE;
break;
case MI_PATH_CIRCLE2_PROFILE_SQUARE:
profile = LL_PCODE_PROFILE_SQUARE;
path = LL_PCODE_PATH_CIRCLE2;
break;
case MI_PATH_CIRCLE2_PROFILE_TRI:
profile = LL_PCODE_PROFILE_EQUALTRI;
path = LL_PCODE_PATH_CIRCLE2;
break;
case MI_PATH_CIRCLE2_PROFILE_CIRCLE:
profile = LL_PCODE_PROFILE_CIRCLE;
path = LL_PCODE_PATH_CIRCLE2;
break;
case MI_PATH_CIRCLE2_PROFILE_CIRCLE_HALF:
profile = LL_PCODE_PROFILE_CIRCLE_HALF;
path = LL_PCODE_PATH_CIRCLE2;
break;
case MI_PATH_TEST_PROFILE_SQUARE:
profile = LL_PCODE_PROFILE_SQUARE;
path = LL_PCODE_PATH_TEST;
break;
case MI_PATH_TEST_PROFILE_TRI:
profile = LL_PCODE_PROFILE_EQUALTRI;
path = LL_PCODE_PATH_TEST;
break;
case MI_PATH_TEST_PROFILE_CIRCLE:
profile = LL_PCODE_PROFILE_CIRCLE;
path = LL_PCODE_PATH_TEST;
break;
case MI_PATH_TEST_PROFILE_CIRCLE_HALF:
profile = LL_PCODE_PROFILE_CIRCLE_HALF;
path = LL_PCODE_PATH_TEST;
break;
case MI_PATH_33_PROFILE_CIRCLE:
profile = LL_PCODE_PROFILE_CIRCLE;
path = LL_PCODE_PATH_CIRCLE_33;
break;
case MI_PATH_33_PROFILE_SQUARE:
profile = LL_PCODE_PROFILE_SQUARE;
path = LL_PCODE_PATH_CIRCLE_33;
break;
case MI_PATH_33_PROFILE_TRIANGLE:
profile = LL_PCODE_PROFILE_ISOTRI;
path = LL_PCODE_PATH_CIRCLE_33;
break;
case MI_PATH_33_PROFILE_HALFCIRCLE:
profile = LL_PCODE_PROFILE_CIRCLE_HALF;
path = LL_PCODE_PATH_CIRCLE_33;
break;
default: default:
LL_WARNS() << "Unknown base type " << selected_type LL_WARNS() << "Unknown base type " << selected_type
<< " in getVolumeParams()" << LL_ENDL; << " in getVolumeParams()" << LL_ENDL;
......
...@@ -1657,6 +1657,62 @@ even though the user gets a free copy. ...@@ -1657,6 +1657,62 @@ even though the user gets a free copy.
label="Sculpted" label="Sculpted"
name="Sculpted" name="Sculpted"
value="Sculpted" /> value="Sculpted" />
<combo_box.item
name="PathLineProfileHalfCircle"
value="PathLineProfileHalfCircle"
label="Line->Half-Circle" />
<combo_box.item
name="PathCircleProfileHalfCircle"
value="PathCircleProfileHalfCircle"
label="Circle->Half-Circle" />
<combo_box.item
name="PathCircle2ProfileSquare"
value="PathCircle2ProfileSquare"
label="Circle2->Square" />
<combo_box.item
name="PathCircle2ProfileTriangle"
value="PathCircle2ProfileTriangle"
label="Circle2->Triangle" />
<combo_box.item
name="PathCircle2ProfileCircle"
value="PathCircle2ProfileCircle"
label="Circle2->Circle" />
<combo_box.item
name="PathCircle2ProfileHalfCircle"
value="PathCircle2ProfileHalfCircle"
label="Circle2->Half-Circle" />
<combo_box.item
name="PathTestProfileSquare"
value="PathTestProfileSquare"
label="Test->Square" />
<combo_box.item
name="PathTestProfileTriangle"
value="PathTestProfileTriangle"
label="Test->Triangle" />
<combo_box.item
name="PathTestProfileCircle"
value="PathTestProfileCircle"
label="Test->Circle" />
<combo_box.item
name="PathTestProfileHalfCircle"
value="PathTestProfileHalfCircle"
label="Test->Half-Circle" />
<combo_box.item
name="Path33Profile0"
value="Path33Profile0"
label="33->Circle" />
<combo_box.item
name="Path33Profile1"
value="Path33Profile1"
label="33->Square" />
<combo_box.item
name="Path33Profile2"
value="Path33Profile2"
label="33->Triangle" />
<combo_box.item
name="Path33Profile5"
value="Path33Profile5"
label="33->HalfCircle" />
</combo_box> </combo_box>
<text <text
type="string" type="string"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment