select_points_object_model_3dT_select_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3d (Operator)
Name
select_points_object_model_3dT_select_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3d
— Anwenden eines Schwellwerts 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)
Beschreibung
select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3d
wählt Punkte des
3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D
anhand der in AttribAttribAttribAttribattrib
,
MinValueMinValueMinValueMinValueminValue
und MaxValueMaxValueMaxValueMaxValuemaxValue
übergebenen Attribute und
Schwellwerte aus. Die ausgewählten Punkte werden im 3D-Objektmodell
ObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedobjectModel3DThresholded
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.
AttribAttribAttribAttribattrib
kann entweder ein Tupel von Zahlen enthalten, das genau so
viele Einträge enthält wie ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D
Punkte hat, oder eine
Liste von Attributsnamen, auf die die Schwellwerte angewendet werden.
Wenn AttribAttribAttribAttribattrib
ein Tupel von Zahlen enthält, muss in
MinValueMinValueMinValueMinValueminValue
und MaxValueMaxValueMaxValueMaxValuemaxValue
jeweils genau eine Zahl übergeben
werden. Alle Punkte, für die der Eintrag in AttribAttribAttribAttribattrib
zwischen diesen
beiden Schwellwerten liegen, werden in das Ausgabeobjektmodell
ObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedobjectModel3DThresholded
übernommen.
Alternativ kann AttribAttribAttribAttribattrib
eine Liste von Attributsnamen enthalten,
die sich auf Eigenschaften des 3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D
beziehen.
Alle Punkte, für die der im Attribut AttribAttribAttribAttribattrib
gespeicherte Wert
innerhalb des durch MinValueMinValueMinValueMinValueminValue
und MaxValueMaxValueMaxValueMaxValuemaxValue
spezifizierten Intervalls liegt, werden behalten.
MinValueMinValueMinValueMinValueminValue
und MaxValueMaxValueMaxValueMaxValuemaxValue
müssen jeweils genau so viele
Einträge haben wie AttribAttribAttribAttribattrib
.
Wenn AttribAttribAttribAttribattrib
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 AttribAttribAttribAttribattrib
als
Attributsnamen möglich:
- '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":
Die y-Koordinaten der 3D Punkte.
- '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":
Die x-Komponenten der 3D Punktnormalen der 3D Punkte.
- '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":
Die z-Komponenten der 3D Punktnormalen der 3D Punkte.
- '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":
Die Spaltenkomponenten der 2D Abbildung der 3D Punkte.
- '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":
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 Schwellwert verwendet.
- '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":
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".
- Erweiterte Attribute:
Es kann der Name eines erweiterten Attributs
des Types '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
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D
(input_control) object_model_3d(-array) →
HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle von 3D-Objektmodellen.
AttribAttribAttribAttribattrib
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Attribute, auf die ein Schwellwert angewandt
werden soll.
Defaultwert:
'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_row'"mapping_row""mapping_row""mapping_row""mapping_row", 'neighbor_distance'"neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance", '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", '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_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_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"
MinValueMinValueMinValueMinValueminValue
(input_control) number(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Untere Schranke für die Attribute.
Defaultwert: 0.5
MaxValueMaxValueMaxValueMaxValuemaxValue
(input_control) number(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Obere Schranke für die Attribute.
Defaultwert: 1.0
ObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedObjectModel3DThresholdedobjectModel3DThresholded
(output_control) object_model_3d(-array) →
HObjectModel3D, HTupleHTupleHtuple (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_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3d
liefert den Wert 2 (H_MSG_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_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d
,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d
Nachfolger
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3d
,
project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d
,
object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz
Siehe auch
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3d
,
reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByViewReduceObjectModel3dByView
Modul
3D Metrology