STDMETHODIMP CVisComplexObj::put_edgeFlags(VARIANT newVal) { double *data; if (VariantToDoubleArray(&data, &newVal)) return E_INVALIDARG; setEdgeFlags(data); return S_OK; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }