Interface Queries

Operation of obtaining and interface from an object with QueryInterface() in
C++ or coercion/cast in other languages or with a call to some method like GetModel() is called Simple Query
in KernelCAD software. Normally to get access to a specific functionality it is
needed to traverse several levels in the hierarchy
of interfaces. Such a
sequence of simple queries is called extended query (or just query). Its
description in textual form is called Query Path.

Description of specific interfaces describes situations when the interface
can be involved in a context-dependent query. Context-dependent queries should
be carried out without any other queries from the involved interfaces. Specific
cases may have alleviations of this rule.