Esempio n. 1
0
void SoundCommon::Initialize( const SSoundInit& SoundInit )
{
	SetPriority(			SoundInit.m_Priority );
	SetIsStream(			SoundInit.m_IsStream );
	SetCategory(			SoundInit.m_Category );
	SetLooping(				SoundInit.m_IsLooping );
	SetIs3D(				SoundInit.m_Is3D );
	SetShouldCalcOcclusion(	SoundInit.m_ShouldCalcOcclusion );
	SetBaseVolume(			SoundInit.m_Volume );
	SetFalloffRadius(		SoundInit.m_FalloffDistance );
	SetPanBias(				SoundInit.m_PanBiasNear, SoundInit.m_PanBiasFar );
	SetPanPower(			SoundInit.m_PanPower );
	SetMinimumAttenuation(	SoundInit.m_MinimumAttenuation );
	SetRearAttenuation(		SoundInit.m_RearAttenuation );
}
void
ResampleAttributes::SetFromNode(DataNode *parentNode)
{
    if(parentNode == 0)
        return;

    DataNode *searchNode = parentNode->GetNode("ResampleAttributes");
    if(searchNode == 0)
        return;

    DataNode *node;
    if((node = searchNode->GetNode("useExtents")) != 0)
        SetUseExtents(node->AsBool());
    if((node = searchNode->GetNode("startX")) != 0)
        SetStartX(node->AsDouble());
    if((node = searchNode->GetNode("endX")) != 0)
        SetEndX(node->AsDouble());
    if((node = searchNode->GetNode("samplesX")) != 0)
        SetSamplesX(node->AsInt());
    if((node = searchNode->GetNode("startY")) != 0)
        SetStartY(node->AsDouble());
    if((node = searchNode->GetNode("endY")) != 0)
        SetEndY(node->AsDouble());
    if((node = searchNode->GetNode("samplesY")) != 0)
        SetSamplesY(node->AsInt());
    if((node = searchNode->GetNode("is3D")) != 0)
        SetIs3D(node->AsBool());
    if((node = searchNode->GetNode("startZ")) != 0)
        SetStartZ(node->AsDouble());
    if((node = searchNode->GetNode("endZ")) != 0)
        SetEndZ(node->AsDouble());
    if((node = searchNode->GetNode("samplesZ")) != 0)
        SetSamplesZ(node->AsInt());
    if((node = searchNode->GetNode("tieResolver")) != 0)
    {
        // Allow enums to be int or string in the config file
        if(node->GetNodeType() == INT_NODE)
        {
            int ival = node->AsInt();
            if(ival >= 0 && ival < 3)
                SetTieResolver(TieResolver(ival));
        }
        else if(node->GetNodeType() == STRING_NODE)
        {
            TieResolver value;
            if(TieResolver_FromString(node->AsString(), value))
                SetTieResolver(value);
        }
    }
    if((node = searchNode->GetNode("tieResolverVariable")) != 0)
        SetTieResolverVariable(node->AsString());
    if((node = searchNode->GetNode("defaultValue")) != 0)
        SetDefaultValue(node->AsDouble());
    if((node = searchNode->GetNode("distributedResample")) != 0)
        SetDistributedResample(node->AsBool());
    if((node = searchNode->GetNode("cellCenteredOutput")) != 0)
        SetCellCenteredOutput(node->AsBool());
    // The SetStartX, etc calls trample useExtents.
    // Set to the correct value at the end.
    if((node = searchNode->GetNode("useExtents")) != 0)
        SetUseExtents(node->AsBool());

}