9 queryText =
"window(s=10)"
13 refPt = pyDM.Point(-3, 2, 0)
15 vocType = pyDM.QueryDescriptor.Vocabulary.neighborhood3d
if support3D
else pyDM.QueryDescriptor.Vocabulary.minimal
16 queryDescr = pyDM.QueryDescriptor(queryText, vocType)
18 if queryDescr.hasQuery():
19 query = queryDescr.query()
20 print(f
"query text='{query}'")
21 print(f
"\tquery type={query.type()}")
22 if isinstance(query, pyDM.QueryGeometry):
23 print(f
"\tquery is a QueryGeometry object")
24 print(f
"\tgeometryType={query.geometryType()}")
26 geo = query.geometryFromRefPt(refPt)
27 if geo.type() == pyDM.GeometryType.circle:
28 print(f
"\tcircle=(x={geo.x}, y={geo.y}, r={geo.r})")
29 elif geo.type() == pyDM.GeometryType.window:
30 print(f
"\twindow=(x={geo.xmin}, y={geo.ymin})-(x={geo.xmax}, y={geo.ymax})")
31 elif geo.type() == pyDM.GeometryType.box:
32 print(f
"\tbox=(x={geo.xmin}, y={geo.ymin}, z={geo.zmin})-(x={geo.xmax}, y={geo.ymax}, z={geo.zmax})")
33 elif geo.type() == pyDM.GeometryType.sphere:
34 print(f
"\tsphere=(x={geo.x}, y={geo.y}, z={geo.z}, r={geo.r})")
35 elif geo.type() == pyDM.GeometryType.cylinder:
36 print(f
"\tcylinder=(x={geo.x}, y={geo.y}, zmin={geo.zmin}, zmax={geo.zmax}, r={geo.r})")
38 print(f
"\tgeometry type not supported yet")
40 print(f
"\tmaxSearchDistance2D={query.maxSearchDistance2D()}")