Exemplo n.º 1
0
//-----------------------------------------------------------------------------
HRESULT String::Cast( const DataType& type )
{
	switch( type.Type() )
	{
	case SASVT_STRING:
		return Set( ((String&)type).Get() );
	}

	return E_FAIL;
}
Exemplo n.º 2
0
//-----------------------------------------------------------------------------
bool DataType::Equal( const DataType& a, const DataType& b )
{
    if( a.Type() != b.Type() )
        return false;

    switch( a.Type() )
    {
        case SASVT_BOOL: return Bool::Equal( (Bool&)a, (Bool&)b );
        case SASVT_INT: return Int::Equal( (Int&)a, (Int&)b );
        case SASVT_FLOAT: return Float::Equal( (Float&)a, (Float&)b );
        case SASVT_STRING: return String::Equal( (String&)a, (String&)b );
        case SASVT_TEXTURE: return Texture::Equal( (Texture&)a, (Texture&)b );
        case SASVT_TEXTURE1D: return Texture1D::Equal( (Texture1D&)a, (Texture1D&)b );
        case SASVT_TEXTURE2D: return Texture2D::Equal( (Texture2D&)a, (Texture2D&)b );
        case SASVT_TEXTURE3D: return Texture3D::Equal( (Texture3D&)a, (Texture3D&)b );
        case SASVT_TEXTURECUBE: return TextureCube::Equal( (TextureCube&)a, (TextureCube&)b );
    }

    return false;
}
//--------------------------------------------------------------------------------------
HRESULT BoundValueTable::SetValue( BindAddressHandle handle, const DataType& DataType )
{
    switch( DataType.Type() )
    {
        case SASVT_BOOL:
        case SASVT_INT:
        case SASVT_FLOAT:
            return SetValue( handle, Scalar( DataType ) );

        default:
            return SetValue( handle, Object( DataType ) );
    }  
}
Exemplo n.º 4
0
//--------------------------------------------------------------------------------------
HRESULT Value::Cast( const DataType& DataType )
{
    switch( DataType.Type() )
    {
    case SASVT_BOOL:
    case SASVT_INT:
    case SASVT_FLOAT:
        return Cast( Scalar(DataType) );

    default:
        return Cast( Object(DataType) );
    }
};
Exemplo n.º 5
0
//-----------------------------------------------------------------------------
HRESULT Float::Cast( const DataType& type )
{
	switch( type.Type() )
	{
	case SASVT_BOOL:
		m_Value = ((Bool&)type).Get() ? 1.0f : 0.0f;
		return S_OK;

	case SASVT_INT:
		m_Value = (float)((Int&)type).Get();
		return S_OK;

	case SASVT_FLOAT:
		m_Value = ((Float&)type).Get();
		return S_OK;
	}

	return E_FAIL;
}
Exemplo n.º 6
0
HRESULT Texture::Cast( const DataType& type )
{
	switch( type.Type() )
	{
	case SASVT_TEXTURE:
		Set( ((Texture&)type).Get() );
		return S_OK;
	case SASVT_TEXTURE1D:
		Set( ((Texture1D&)type).Get() );
		return S_OK;
	case SASVT_TEXTURE2D:
		Set( ((Texture2D&)type).Get() );
		return S_OK;
	case SASVT_TEXTURE3D:
		Set( ((Texture3D&)type).Get() );
		return S_OK;
	case SASVT_TEXTURECUBE:
		Set( ((TextureCube&)type).Get() );
		return S_OK;
	}

	return E_FAIL;
}
Exemplo n.º 7
0
Object::Object( const DataType& value ) : 
    Value(SASVC_OBJECT, value.Type()),
    m_pDataType(NULL) 
{ 
    Set(&value); 
}
Exemplo n.º 8
0
Scalar::Scalar( const DataType& value ) : 
    Value(SASVC_SCALAR, value.Type()),
    m_pDataType(NULL) 
{ 
    Set(&value); 
}