Highlight elements in the 2D (floor plan and section) and 3D window.

    GSErrCode ACAPI_Interface_SetElementHighlight (
        const GS::HashTable<API_Guid,API_RGBAColor>&  highlightedElems,
        const GS::Optional<bool>&                     wireframe3D = GS::NoValue,
        const GS::Optional<API_RGBAColor>&            nonHighlightedElemsColor = GS::NoValue



Hash table containing the elements (identified by their GUIDs) and the colors to highlight the element with.
Switch other elements in the 3D window to wireframe (does not have effect in case of using Vectorial Engine). Optional, it can be GS::NoValue.
It contains the color and the transparency of the non highlighted elements. Optional, it can be GS::NoValue.


Return Values

The function has completed with success.

For other common API errors see the API Errors document.



You can remove element highlight by calling ACAPI_Interface_ClearElementHighlight.

After changing element highlights the model needs to be redrawn by calling ACAPI_Automate (APIDo_RedrawID).



// Highlight every mesh
static void Do_HighlightElements (void)
    static bool hled = false;

    if (hled) {
        // remove the highlight
        ACAPI_Interface_ClearElementHighlight ();
        ACAPI_Automate (APIDo_RedrawID);
    } else {
        GS::Array<API_Guid> meshList;
        ACAPI_Element_GetElemList (API_MeshID, &meshList);

        if (meshList.GetSize () > 0) {
            GS::HashTable<API_Guid, API_RGBAColor>  hlElems;
            API_RGBAColor   hlColor = { 0.0, 0.5, 0.75, 0.5 };
            for (auto it = meshList.Enumerate (); it != nullptr; ++it) {
                hlElems.Add (*it, hlColor);
                hlColor.f_red += 0.1;
                if (hlColor.f_red > 1.0)
                    hlColor.f_red = 0.0;

            bool wireframe3D = false;
            API_RGBAColor nonHighlightedElemsColor = {0.7, 0.7, 0.7, 0.95};

            ACAPI_Interface_SetElementHighlight (hlElems, wireframe3D, nonHighlightedElemsColor);
            ACAPI_Automate (APIDo_RedrawID);

    hled = !hled;



Version: API 26 or later
Header: ACAPinc.h


See Also

API Functions