 
IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Selects which optic controller to configure.
| Name | OpticControllerSelector | 
| Category | |
| Interface | Enumeration | 
| Access | Read/Write | 
| Unit | - | 
| Visibility | Beginner | 
| Values | OpticController0 OpticController1 OpticController2 | 
| Standard | SFNC | 
| Availability uEye+ | 
 | 
| Availability uEye | 
Values description
•OpticController0 (default): Selects optic controller 0.
•OpticController1: Selects optic controller 1.
•OpticController2: Selects optic controller 2.
| 
 | uEye cameras: This feature is only supported by UI-1007XS Rev. 1.1 and UI-1007XS. | 
Code example
C++
// Determine the current entry of OpticControllerSelector
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("OpticControllerSelector")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of OpticControllerSelector
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("OpticControllerSelector")->Entries();
std::vector<std::shared_ptr<peak::core::nodes::EnumerationEntryNode>> availableEntries;
for(const auto & entry : allEntries)
{
    if ((entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotAvailable)
            && (entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotImplemented))
    {
        availableEntries.emplace_back(entry);
    }
}
// Set OpticControllerSelector to "OpticController0" 
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("OpticControllerSelector")->SetCurrentEntry("OpticController0");
C#
// Determine the current entry of OpticControllerSelector
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("OpticControllerSelector").CurrentEntry().SymbolicValue();
// Get a list of all available entries of OpticControllerSelector
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("OpticControllerSelector").Entries();
List<string> availableEntries = new List<string>();
for(int i = 0; i < allEntries.Count(); ++i)
{
    if ((allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotAvailable)
            && (allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotImplemented))
    {
        availableEntries.Add(allEntries[i].SymbolicValue());
    }
}
// Set OpticControllerSelector to "OpticController0" 
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("OpticControllerSelector").SetCurrentEntry("OpticController0");
Python
# Determine the current entry of OpticControllerSelector (str)
value = nodeMapRemoteDevice.FindNode("OpticControllerSelector").CurrentEntry().SymbolicValue()
# Get a list of all available entries of OpticControllerSelector
allEntries = nodeMapRemoteDevice.FindNode("OpticControllerSelector").Entries()
availableEntries = []
for entry in allEntries:
    if (entry.AccessStatus() != ids_peak.NodeAccessStatus_NotAvailable
            and entry.AccessStatus() != ids_peak.NodeAccessStatus_NotImplemented):
        availableEntries.append(entry.SymbolicValue())
 
# Set OpticControllerSelector to "OpticController0" (str) 
nodeMapRemoteDevice.FindNode("OpticControllerSelector").SetCurrentEntry("OpticController0")