select_points_object_model_3dT_select_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d (Operator)
Name
select_points_object_model_3dT_select_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d — Anwenden eines Schwellenwerts auf Attribute in 3D-Objektmodellen.
Signatur
void SelectPointsObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Attrib, const HTuple& MinValue, const HTuple& MaxValue, HTuple* ObjectModel3DThresholded)
static HObjectModel3DArray HObjectModel3D::SelectPointsObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& Attrib, const HTuple& MinValue, const HTuple& MaxValue)
HObjectModel3D HObjectModel3D::SelectPointsObjectModel3d(const HString& Attrib, double MinValue, double MaxValue) const
HObjectModel3D HObjectModel3D::SelectPointsObjectModel3d(const char* Attrib, double MinValue, double MaxValue) const
HObjectModel3D HObjectModel3D::SelectPointsObjectModel3d(const wchar_t* Attrib, double MinValue, double MaxValue) const
(Nur Windows)
def select_points_object_model_3d(object_model_3d: MaybeSequence[HHandle], attrib: MaybeSequence[str], min_value: MaybeSequence[Union[int, float]], max_value: MaybeSequence[Union[int, float]]) -> Sequence[HHandle]
def select_points_object_model_3d_s(object_model_3d: MaybeSequence[HHandle], attrib: MaybeSequence[str], min_value: MaybeSequence[Union[int, float]], max_value: MaybeSequence[Union[int, float]]) -> HHandle
Beschreibung
select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d wählt Punkte des
3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d anhand der in AttribAttribAttribAttribattribattrib,
MinValueMinValueMinValueMinValueminValuemin_value und MaxValueMaxValueMaxValueMaxValuemaxValuemax_value übergebenen Attribute und
Schwellenwerte aus. Die ausgewählten Punkte werden im 3D-Objektmodell
ObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedobjectModel3DThresholdedobject_model_3dthresholded zurückgegeben.
Alle Attribute, die mit den Punkten zusammenhängen, wie z.B. Polygone oder
Dreiecke, werden entsprechend angepasst, so dass keine Information mehr auf
die entfernten Punkte verweist.
AttribAttribAttribAttribattribattrib kann entweder ein Tupel von Zahlen enthalten, das genau so
viele Einträge enthält wie ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d Punkte hat, oder eine
Liste von Attributnamen, auf die die Schwellenwerte angewendet werden.
Wenn AttribAttribAttribAttribattribattrib ein Tupel von Zahlen enthält, muss in
MinValueMinValueMinValueMinValueminValuemin_value und MaxValueMaxValueMaxValueMaxValuemaxValuemax_value jeweils genau eine Zahl übergeben
werden. Alle Punkte, für die der Eintrag in AttribAttribAttribAttribattribattrib zwischen diesen
beiden Schwellenwerten liegen, werden in das Ausgabeobjektmodell
ObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedobjectModel3DThresholdedobject_model_3dthresholded übernommen.
Alternativ kann AttribAttribAttribAttribattribattrib eine Liste von Attributnamen enthalten,
die sich auf Eigenschaften des 3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
beziehen.
Alle Punkte, für die der im Attribut AttribAttribAttribAttribattribattrib gespeicherte Wert
innerhalb des durch MinValueMinValueMinValueMinValueminValuemin_value und MaxValueMaxValueMaxValueMaxValuemaxValuemax_value
spezifizierten Intervalls liegt, werden behalten.
MinValueMinValueMinValueMinValueminValuemin_value und MaxValueMaxValueMaxValueMaxValuemaxValuemax_value müssen jeweils genau so viele
Einträge haben wie AttribAttribAttribAttribattribattrib.
Wenn AttribAttribAttribAttribattribattrib mehrere Elemente enthält, werden nur die Punkte
in die Ausgabe übernommen, die alle Kriterien erfüllen.
Je nach den Eigenschaften des Objektmodells sind in AttribAttribAttribAttribattribattrib als
Attributnamen möglich:
- 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x""point_coord_x":
Die x-Koordinaten der 3D Punkte.
- 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y""point_coord_y":
Die y-Koordinaten der 3D Punkte.
- 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z""point_coord_z":
Die z-Koordinaten der 3D Punkte.
- 'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x""point_normal_x":
Die x-Komponenten der 3D Punktnormalen der 3D Punkte.
- 'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y""point_normal_y":
Die y-Komponenten der 3D Punktnormalen der 3D Punkte.
- 'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z""point_normal_z":
Die z-Komponenten der 3D Punktnormalen der 3D Punkte.
- 'mapping_row'"mapping_row""mapping_row""mapping_row""mapping_row""mapping_row":
Die Zeilenkomponenten der 2D Abbildung der 3D Punkte.
- 'mapping_col'"mapping_col""mapping_col""mapping_col""mapping_col""mapping_col":
Die Spaltenkomponenten der 2D Abbildung der 3D Punkte.
- 'neighbor_distance'"neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance":
-
- 'neighbor_distance N'"neighbor_distance N""neighbor_distance N""neighbor_distance N""neighbor_distance N""neighbor_distance N":
Der Abstand des N-ten Nachbarpunktes.
N muss ein positiver Integer-Wert sein und ist standardmäßig 25.
Für jeden Punkt werden die übrigen Punkte anhand ihres Abstands sortiert,
und der Abstand des N-ten Punktes für den Schwellenwert verwendet.
- 'num_neighbors X'"num_neighbors X""num_neighbors X""num_neighbors X""num_neighbors X""num_neighbors X":
Die Anzahl an Nachbarn mit einem Abstand von höchstens X.
Dieser Filter kann verwendet werden, um dünn besetzte Gebiete des
3D-Objektmodells zu entfernen, wie etwa Ausreißerpunkte oder Punkte,
die durch Glättungen zwischen 3D-Oberflächen entstehen.
- 'num_neighbors_fast X'"num_neighbors_fast X""num_neighbors_fast X""num_neighbors_fast X""num_neighbors_fast X""num_neighbors_fast X":
Die ungefähre Anzahl an Nachbarn mit einem Abstand von
höchstens X.
Die Abstände werden mittels Voxeln approximiert, was üblicherweise
schneller ist als die exakte Berechnung für 'num_neighbors'"num_neighbors""num_neighbors""num_neighbors""num_neighbors""num_neighbors".
- Erweiterte Attribute:
Es kann der Name eines erweiterten Attributs
des Types 'vertices'"vertices""vertices""vertices""vertices""vertices" angegeben werden. Dessen Werte dienen
dann als Entscheidungsgrundlage, um Punkte beizubehalten oder nicht.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Parameter
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d(-array) → HObjectModel3D, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle von 3D-Objektmodellen.
AttribAttribAttribAttribattribattrib (input_control) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Attribute, auf die ein Schwellenwert angewandt
werden soll.
Defaultwert:
'point_coord_z'
"point_coord_z"
"point_coord_z"
"point_coord_z"
"point_coord_z"
"point_coord_z"
Werteliste: 'mapping_col'"mapping_col""mapping_col""mapping_col""mapping_col""mapping_col", 'mapping_row'"mapping_row""mapping_row""mapping_row""mapping_row""mapping_row", 'neighbor_distance'"neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance", 'num_neighbors'"num_neighbors""num_neighbors""num_neighbors""num_neighbors""num_neighbors", 'num_neighbors_fast'"num_neighbors_fast""num_neighbors_fast""num_neighbors_fast""num_neighbors_fast""num_neighbors_fast", 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y""point_coord_y", 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z""point_coord_z", 'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x""point_normal_x", 'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y""point_normal_y", 'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z""point_normal_z"
MinValueMinValueMinValueMinValueminValuemin_value (input_control) number(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Untere Schranke für die Attribute.
Defaultwert: 0.5
MaxValueMaxValueMaxValueMaxValuemaxValuemax_value (input_control) number(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Obere Schranke für die Attribute.
Defaultwert: 1.0
ObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedobjectModel3DThresholdedobject_model_3dthresholded (output_control) object_model_3d(-array) → HObjectModel3D, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle der reduzierten 3D-Objektmodelle.
Beispiel (HDevelop)
gen_object_model_3d_from_points (rand(100), rand(100),\
rand(100), ObjectModel3D)
select_points_object_model_3d (ObjectModel3D, 'point_coord_z',\
0.5, 1, ObjectModel3DThresholded)
get_object_model_3d_params (ObjectModel3DThresholded, 'num_points',\
NumPoints)
Ergebnis
select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d liefert den Wert TRUE wenn alle
Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung
durchgeführt.
Falls die notwendigen Punkte im 3D-Objektmodell nicht vorhanden sind, d.h.
ein leeres Objektmodell übergeben wurde, wird der Fehler 9515
zurückgeliefert.
Vorgänger
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
Nachfolger
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d,
project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3dproject_object_model_3d,
object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz
Siehe auch
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d,
reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByViewReduceObjectModel3dByViewreduce_object_model_3d_by_view
Modul
3D Metrology