Exemplo n.º 1
0
STDMETHODIMP CVisComplexObj::put_edgeFlags(VARIANT newVal)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
	setEdgeFlags(data);
	return S_OK;
}
Exemplo n.º 2
0
STDMETHODIMP CVComplexShape::SetEdgeFlags(VARIANT newVal, long iLogID)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
	setArray(aiEdgeFlags,data);

	m_RequestUpdate(iLogID);
	return S_OK;
}
Exemplo n.º 3
0
STDMETHODIMP CVisComplexObj::put_polygonStipple(VARIANT newVal)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
    if (GetLength(data) != 32) return E_INVALIDARG;
    for (int i=0; i<32; ++i)
        ((unsigned int *)data)[i] = (unsigned int)data[i];
	setPolygonStipple(data);
	return S_OK;
}
Exemplo n.º 4
0
STDMETHODIMP CVComplexShape::SetPolygonStipple(VARIANT newVal, long iLogID)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
    if (GetLength(data) != 32) return E_INVALIDARG;
    for (int i=0; i<32; ++i)
        ((unsigned int *)data)[i] = (unsigned int)data[i];
	setArray(aiPolygonStipple,data);

	m_RequestUpdate(iLogID);
	return S_OK;
}
Exemplo n.º 5
0
STDMETHODIMP CVisComplexObj::put_indices(VARIANT newVal)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
	if (data)
	{
		int len = GetLength(data);
		for (int i=0; i<len; ++i)
			((unsigned int *)data)[i] = (unsigned int)data[i];
	}
	setIndices(data);
	return S_OK;
}
Exemplo n.º 6
0
STDMETHODIMP CVComplexShape::SetIndices(VARIANT newVal, long iLogID)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
	if (data)
	{
		int len = GetLength(data);
		for (int i=0; i<len; ++i)
			((unsigned int *)data)[i] = (unsigned int)data[i];
	}
	setArray(aiIndices,data);

	m_RequestUpdate(iLogID);
	return S_OK;
}
Exemplo n.º 7
0
STDMETHODIMP CVisComplexObj::put_vertices(VARIANT newVal)
{
	double *data;
	HRESULT result = VariantToDoubleArray(&data, &newVal);
	logToFile((f, "putVertices: %d\n", result));
	if (result) return E_INVALIDARG;
    if (data != NULL)
    {
        if (GetDim(data) != 2) return E_INVALIDARG;
        if (GetLength(data, 0) != 2 && GetLength(data, 0) != 3) return E_INVALIDARG;
    }
	setVertices(data);
    FreeDoubleArray(scrVertices);
    scrVertices = CopyDoubleArrayStruct(getVertices());
    updateScrVertices();
	return S_OK;
}
Exemplo n.º 8
0
STDMETHODIMP CVisComplexObj::put_color(VARIANT newVal)
{
	double *data;
	if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG;
	if (data == NULL) return E_INVALIDARG;
	if (GetLength(data) < 3) return E_INVALIDARG;
	color[0] = (float)data[0];
	color[1] = (float)data[1];
	color[2] = (float)data[2];

	if (GetLength(data)>=4) alpha = data[3];
    
#if INDEX_MODE
	ColorIndex=VisWindow->ColorRGB2I(color);
#endif

	return S_OK;
}
Exemplo n.º 9
0
STDMETHODIMP CVComplexShape::SetVertices(VARIANT newVal, long iLogID)
{
	double *data;
	HRESULT result = VariantToDoubleArray(&data, &newVal);
	if (result) return E_INVALIDARG;
    if (data != NULL)
    {
        if (GetDim(data) < 2) return E_INVALIDARG;
        if (GetLength(data, 0) != 2 && GetLength(data, 0) != 3) return E_INVALIDARG;
    }
	setArray(aiVertices,data);
    FreeDoubleArray(scrVertices);
    scrVertices = CopyDoubleArrayStruct(m_getVertices());
    updateScrVertices();

    m_RequestUpdate(iLogID);
	return S_OK;
}