Exemplo n.º 1
0
STDMETHODIMP CVisComplexObj::put_angle(double newVal)
{
	angle = newVal;
    updateScrVertices();
	update(ACTION_ANGLE, &newVal, 1);
	return S_OK;
}
Exemplo n.º 2
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.º 3
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;
}