Allow setting of the starstyle via the set command.
parent
e3dff78712
commit
a91dc75873
|
@ -162,7 +162,21 @@ Command* CommandParser::parseCommand()
|
|||
double value = 0.0;
|
||||
string name;
|
||||
paramList->getString("name", name);
|
||||
paramList->getNumber("value", value);
|
||||
if (!paramList->getNumber("value", value))
|
||||
{
|
||||
// Some values may be specified via strings
|
||||
string valstr;
|
||||
if (paramList->getString("value", valstr))
|
||||
{
|
||||
if (compareIgnoringCase(valstr, "fuzzypoints") == 0)
|
||||
value = (double) Renderer::FuzzyPointStars;
|
||||
else if (compareIgnoringCase(valstr, "points") == 0)
|
||||
value = (double) Renderer::PointStars;
|
||||
else if (compareIgnoringCase(valstr, "scaleddiscs") == 0)
|
||||
value = (double) Renderer::ScaledDiscStars;
|
||||
}
|
||||
}
|
||||
|
||||
cmd = new CommandSet(name, value);
|
||||
}
|
||||
else if (commandName == "select")
|
||||
|
|
|
@ -541,6 +541,14 @@ void CommandSet::process(ExecutionEnvironment& env)
|
|||
if (env.getRenderer() != NULL)
|
||||
env.getRenderer()->setDistanceLimit((float) value);
|
||||
}
|
||||
else if (compareIgnoringCase(name, "StarStyle") == 0)
|
||||
{
|
||||
// The cast from double to an enum requires an intermediate cast to int
|
||||
// Probably shouldn't be doing this at all, but other alternatives
|
||||
// are more trouble than they're worth.
|
||||
if (env.getRenderer() != NULL)
|
||||
env.getRenderer()->setStarStyle((Renderer::StarStyle) (int) value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue