STDMETHODIMP CVisComplexObj::get_color(VARIANT *pVal) { struct { int desc[4]; double data[3]; } temp = { { 0, 3, 1, 3 }, { color[0], color[1], color[2] } }; VariantFromDoubleArray(temp.data, pVal); return S_OK; }
STDMETHODIMP CVisComplexObj::get_polygonStipple(VARIANT *pVal) { double *data = getPolygonStipple(); double *newdata = CopyDoubleArrayStruct(data); if (newdata) for (int i=0; i<32; ++i) newdata[i] = ((unsigned int *)data)[i]; VariantFromDoubleArray(newdata, pVal); FreeDoubleArray(newdata); return S_OK; }
STDMETHODIMP CVisComplexObj::get_indices(VARIANT *pVal) { double *data = getIndices(); double *newdata = CopyDoubleArrayStruct(data); if (newdata) { int len = GetLength(data); for (int i=0; i<len; ++i) newdata[i] = ((unsigned int *)data)[i]; } VariantFromDoubleArray(newdata, pVal); FreeDoubleArray(newdata); return S_OK; }
STDMETHODIMP CVisComplexObj::get_edgeFlags(VARIANT *pVal) { VariantFromDoubleArray(getEdgeFlags(), pVal); return S_OK; }
STDMETHODIMP CVisComplexObj::get_colors(VARIANT *pVal) { VariantFromDoubleArray(getColors(), pVal); return S_OK; }
STDMETHODIMP CVisComplexObj::get_vertices(VARIANT *pVal) { VariantFromDoubleArray(getVertices(), pVal); logToFile((f, "getVertices: %d\n", getVertices() ? GetDim(getVertices()) : 0)); return S_OK; }
STDMETHODIMP CVComplexShape::GetEdgeFlags(VARIANT *pVal) { VariantFromDoubleArray(m_getEdgeFlags(), pVal); return S_OK; }