Filters and layers are mechanisms to group entities together. This sample shows how to add filters with layers to SC.
Layers and filters — HOOPS Communicator documentation
Instructions
- Add a layer to each node with SC::Store::AssemblyTree::AddLayerToNode or SC::Store::AssemblyTree::SetNodeLayerId
(If you want to use non-ASCII layer name, you need to set the name as UTF8. )
assembly_tree.AddLayerToNode(child_node, 1, "Layer 1");
assembly_tree.SetNodeLayerId(body_instance_node, 1);
- Create a filter with layers
Create FilterData and add to node using SC::Store::AssemblyTree::AddFilterToNode
For example, this filter contains only layer1 and layer2. When applying this filter, nodes of layer1 and layer2 are displayed.
SC::Store::FilterData scFilterData1;
scFilterData1.isDisplayFilter = true;
scFilterData1.filterName = "Filter 1";
scFilterData1.isActive = true;
SC::Store::LayerFilterItemData& scFilterLayers1 = scFilterData1.layerFilterItemData;
scFilterLayers1.isInclusive = true;
scFilterLayers1.layers.push_back(1);
scFilterLayers1.layers.push_back(2);
assembly_tree.AddFilterToNode(root_id, scFilterData1);