Rhino C++ API
8.13
|
#include <opennurbs_pointcloud.h>
Public Member Functions | |
ON_PointCloud () | |
ON_PointCloud (const double *P0, int dim, bool is_rat, int count) | |
0<dim<4 stride is dim+is_rat More... | |
ON_PointCloud (const ON_3dPoint *P0, int count) | |
ON_PointCloud (const ON_PointCloud &) | |
ON_PointCloud (int) | |
~ON_PointCloud () | |
void | AppendPoint (const ON_3dPoint &) |
void | Destroy () |
void | DestroyHiddenPointArray () |
int | Dimension () const override |
virtual ON_Geometry override More... | |
void | Dump (ON_TextLog &) const override |
virtual ON_Object override More... | |
void | EmergencyDestroy () |
bool | GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override |
virtual ON_Geometry GetBBox override More... | |
bool | GetClosestPoint (ON_3dPoint P, int *closest_point_index, double maximum_distance=0.0) const |
bool | GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const override |
virtual ON_Geometry GetTightBoundingBox override More... | |
bool | HasPlane () const |
for height fields More... | |
bool | HasPointColors () const |
bool | HasPointNormals () const |
bool | HasPointValues () const |
double | Height (int) |
const bool * | HiddenPointArray () const |
int | HiddenPointCount () const |
unsigned int | HiddenPointUnsignedCount () const |
void | InvalidateBoundingBox () |
call if you change values of points More... | |
bool | IsDeformable () const override |
virtual ON_Geometry override More... | |
bool | IsMorphable () const override |
virtual ON_Geometry override More... | |
bool | IsOrdered () const |
true if set is ordered stream More... | |
bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
bool | MakeDeformable () override |
virtual ON_Geometry override More... | |
bool | Morph (const ON_SpaceMorph &morph) override |
virtual ON_Geometry override More... | |
ON::object_type | ObjectType () const override |
virtual ON_Object override More... | |
ON_PointCloud & | operator= (const ON_PointCloud &) |
ON_3dPoint & | operator[] (int) |
const ON_3dPoint & | operator[] (int) const |
const ON_Plane & | Plane () |
ON_3dPoint | Point (ON_COMPONENT_INDEX ci) const |
int | PointCount () const |
bool | PointIsHidden (int point_index) const |
bool | Read (ON_BinaryArchive &) override |
virtual ON_Object override More... | |
int | RemoveRange (const ON_SimpleArray< int > &indices) |
int | RemoveRange (int count, const int *indices) |
void | SetHiddenPointFlag (int point_index, bool bHidden) |
void | SetOrdered (bool bOrdered) |
for ordered streams More... | |
void | SetPlane (const ON_Plane &) |
unsigned int | SizeOf () const override |
virtual ON_Object::SizeOf override More... | |
bool | SwapCoordinates (int, int) override |
virtual ON_Geometry override More... | |
bool | Transform (const ON_Xform &) override |
virtual ON_Geometry override More... | |
bool | Write (ON_BinaryArchive &) const override |
virtual ON_Object override More... | |
Public Member Functions inherited from ON_Geometry | |
ON_Geometry ()=default | |
ON_Geometry (const ON_Geometry &)=default | |
~ON_Geometry ()=default | |
ON_BoundingBox | BoundingBox () const |
virtual class ON_Brep * | BrepForm (class ON_Brep *brep=nullptr) const |
virtual void | ClearBoundingBox () |
virtual ON_COMPONENT_INDEX | ComponentIndex () const |
virtual bool | EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const |
bool | GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const |
bool | GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const |
virtual bool | HasBrepForm () const |
virtual bool | Morph (const class ON_SpaceMorph &morph) |
ON_Geometry & | operator= (const ON_Geometry &)=default |
bool | Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
bool | Scale (double scale_factor) |
const ON_BoundingBox | TightBoundingBox () const |
bool | Translate (const ON_3dVector &translation_vector) |
Public Member Functions inherited from ON_Object | |
ON_Object () ON_NOEXCEPT | |
ON_Object (const ON_Object &) | |
virtual | ~ON_Object () |
virtual ON_AggregateComponentStatus | AggregateComponentStatus () const |
bool | AttachUserData (class ON_UserData *pUserData) |
unsigned int | ClearAllComponentStates () const |
virtual unsigned int | ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const |
virtual unsigned int | ClearComponentStates (ON_ComponentStatus states_to_clear) const |
void | CopyUserData (const ON_Object &source_object) |
unsigned int | CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution) |
virtual ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const |
virtual bool | DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count) |
virtual void | DestroyRuntimeCache (bool bDelete=true) |
bool | DetachUserData (class ON_UserData *pUserData) |
void | EmergencyDestroy () |
class ON_UserData * | FirstUserData () const |
virtual unsigned int | GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const |
class ON_UserData * | GetUserData (const ON_UUID &userdata_uuid) const |
bool | GetUserString (const wchar_t *key, ON_wString &string_value) const |
int | GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const |
int | GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const |
bool | IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const |
bool | IsKindOf (const ON_ClassId *pClassId) const |
virtual void | MarkAggregateComponentStatusAsNotCurrent () const |
virtual void | MemoryRelocate () |
virtual ON_UUID | ModelObjectId () const |
void | MoveUserData (ON_Object &source_object) |
unsigned int | MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems) |
ON_Object & | operator= (const ON_Object &) |
void | PurgeUserData () |
virtual unsigned int | SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const |
virtual unsigned int | SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const |
bool | SetUserString (const wchar_t *key, const wchar_t *string_value) |
int | SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace) |
bool | ThisIsNullptr (bool bSilentError) const |
void | TransformUserData (const class ON_Xform &xform) |
virtual bool | UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map) |
int | UserStringCount () const |
Static Public Member Functions | |
static ON_PointCloud * | RandomSubsample (const ON_PointCloud *source_point_cloud, const unsigned int subsample_point_count, ON_PointCloud *destination_point_cloud, ON_ProgressReporter *progress_reporter, ON_Terminator *terminator) |
Public Attributes | |
ON_BoundingBox | m_bbox |
ON_SimpleArray< ON_Color > | m_C |
unsigned int | m_flags = 0 |
ON_SimpleArray< bool > | m_H |
unsigned int | m_hidden_count = 0 |
ON_SimpleArray< ON_3dVector > | m_N |
ON_3dPointArray | m_P |
Implementation. More... | |
ON_Plane | m_plane |
ON_SimpleArray< double > | m_V |
Additional Inherited Members | |
Public Types inherited from ON_Object | |
enum | UserDataConflictResolution : unsigned char { UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3, UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6 } |
Static Public Attributes inherited from ON_Geometry | |
const static ON_Geometry | Unset |
Copyright (c) 1993-2022 Robert McNeel & Associates. All rights reserved. OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert McNeel & Associates.
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
For complete openNURBS copyright information see http://www.opennurbs.org. Class ON_PointCloud - unordered set of points ON_PointField - point height field
ON_PointCloud::ON_PointCloud | ( | ) |
ON_PointCloud::ON_PointCloud | ( | int | ) |
ON_PointCloud::ON_PointCloud | ( | const ON_PointCloud & | ) |
ON_PointCloud::~ON_PointCloud | ( | ) |
ON_PointCloud::ON_PointCloud | ( | const ON_3dPoint * | P0, |
int | count | ||
) |
ON_PointCloud::ON_PointCloud | ( | const double * | P0, |
int | dim, | ||
bool | is_rat, | ||
int | count | ||
) |
0<dim<4 stride is dim+is_rat
void ON_PointCloud::AppendPoint | ( | const ON_3dPoint & | ) |
void ON_PointCloud::Destroy | ( | ) |
void ON_PointCloud::DestroyHiddenPointArray | ( | ) |
Description: Destroys the m_H[] array and sets m_hidden_count=0.
|
overridevirtual |
virtual ON_Geometry override
Reimplemented from ON_Geometry.
|
overridevirtual |
void ON_PointCloud::EmergencyDestroy | ( | ) |
Description: Call when the memory pool used the point cloud's arrays is no longer in existence.
|
overridevirtual |
virtual ON_Geometry GetBBox override
Reimplemented from ON_Geometry.
bool ON_PointCloud::GetClosestPoint | ( | ON_3dPoint | P, |
int * | closest_point_index, | ||
double | maximum_distance = 0.0 |
||
) | const |
Description: Get the index of the point in the point cloud that is closest to P. Parameters: P - [in] closest_point_index - [out] maximum_distance - [in] optional distance constraint. If maximum_distance > 0, then only points Q with |P-Q| <= maximum_distance are tested. Returns: True if a point is found; in which case *closest_point_index is the index of the point. False if no point is found or the input is not valid. See Also: ON_GetClosestPointInPointList
|
overridevirtual |
virtual ON_Geometry GetTightBoundingBox override
Reimplemented from ON_Geometry.
bool ON_PointCloud::HasPlane | ( | ) | const |
for height fields
true if set is height field above a plane
bool ON_PointCloud::HasPointColors | ( | ) | const |
Returns: True if m_C.Count() == m_P.Count().
bool ON_PointCloud::HasPointNormals | ( | ) | const |
Returns: True if m_N.Count() == m_P.Count().
bool ON_PointCloud::HasPointValues | ( | ) | const |
Returns: True if m_V.Count() == m_P.Count().
double ON_PointCloud::Height | ( | int | ) |
const bool* ON_PointCloud::HiddenPointArray | ( | ) | const |
Returns: If the point cloud has some hidden points, then an array of length PointCount() is returned and the i-th element is true if the i-th vertex is hidden. If no points are hidden, nullptr is returned.
int ON_PointCloud::HiddenPointCount | ( | ) | const |
Returns: Number of points that are hidden.
unsigned int ON_PointCloud::HiddenPointUnsignedCount | ( | ) | const |
void ON_PointCloud::InvalidateBoundingBox | ( | ) |
call if you change values of points
|
overridevirtual |
virtual ON_Geometry override
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Geometry override
Reimplemented from ON_Geometry.
bool ON_PointCloud::IsOrdered | ( | ) | const |
true if set is ordered stream
|
overridevirtual |
Description: Tests an object to see if its data members are correctly initialized. Parameters: text_log - [in] if the object is not valid and text_log is not nullptr, then a brief english description of the reason the object is not valid is appended to the log. The information appended to text_log is suitable for low-level debugging purposes by programmers and is not intended to be useful as a high level user interface tool. Returns: @untitled table true object is valid false object is invalid, uninitialized, etc.
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Geometry override
Reimplemented from ON_Geometry.
|
override |
virtual ON_Geometry override
|
overridevirtual |
ON_PointCloud& ON_PointCloud::operator= | ( | const ON_PointCloud & | ) |
ON_3dPoint& ON_PointCloud::operator[] | ( | int | ) |
const ON_3dPoint& ON_PointCloud::operator[] | ( | int | ) | const |
const ON_Plane& ON_PointCloud::Plane | ( | ) |
ON_3dPoint ON_PointCloud::Point | ( | ON_COMPONENT_INDEX | ci | ) | const |
Description: Get a point cloud point from an ON_COMPONENT_INDEX. Parameters: ci - [in] a component index with m_typ set to ON_COMPONENT_INDEX::pointcloud_point and 0 <= m_index and m_index < m_P.Count(). Returns: Point at [ci.m_index] or ON_3dPoint::UnsetPoint if ci is not valid.
int ON_PointCloud::PointCount | ( | ) | const |
Interface
bool ON_PointCloud::PointIsHidden | ( | int | point_index | ) | const |
Description: Returns true if the point is hidden. This is a runtime setting that is not saved in 3dm files. Parameters: point_index - [in] Returns: True if the point is hidden.
|
static |
Description: Returns a random subsample of a point cloud. Parameters: source_point_cloud - [in] The point cloud to subsample. subsample_point_count - [in] The number of points to keep. destination_point_cloud - [out] If nullptr, then a new ON_PointCloud() will be the destination. This can be the source point cloud. progress_reporter - [in] Optional progress reporter, can be nullptr. terminator - [in] Optional terminator, can be nullptr. Returns: A new ON_PointCloud which is a subsample of source_point_cloud. If destination_point_cloud == nullptr, then memory will be allocated for the returned point cloud and becomes the responsibility of the caller.
|
overridevirtual |
int ON_PointCloud::RemoveRange | ( | const ON_SimpleArray< int > & | indices | ) |
Description: Removes points at given indices. Parameters: indices - [in] An array of indices of the points to remove. Returns: The number of points removed from the point cloud.
int ON_PointCloud::RemoveRange | ( | int | count, |
const int * | indices | ||
) |
Description: Removes points at given indices. Parameters: count - [in] The number of indices of the points to remove. indices - [in] An array of indices of the points to remove. Returns: The number of points removed from the point cloud.
void ON_PointCloud::SetHiddenPointFlag | ( | int | point_index, |
bool | bHidden | ||
) |
Description: Set the runtime hidden point flag. Parameters: point_index - [in] point vertex index bHidden - [in] true to hide vertex
void ON_PointCloud::SetOrdered | ( | bool | bOrdered | ) |
for ordered streams
true if set is ordered stream
void ON_PointCloud::SetPlane | ( | const ON_Plane & | ) |
|
overridevirtual |
virtual ON_Object::SizeOf override
Reimplemented from ON_Object.
|
overridevirtual |
virtual ON_Geometry override
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Geometry override
Reimplemented from ON_Geometry.
|
overridevirtual |
ON_BoundingBox ON_PointCloud::m_bbox |
ON_SimpleArray<ON_Color> ON_PointCloud::m_C |
Implementation - OPTIONAL point color Either m_C[] has zero count or it has the same count as m_P[], in which case m_C[j] reports the color assigned to m_P[j].
unsigned int ON_PointCloud::m_flags = 0 |
bit 1 is set if ordered bit 2 is set if plane is set
ON_SimpleArray<bool> ON_PointCloud::m_H |
Implementation - RUNTIME point visibility - not saved in 3dm files. If m_H.Count() = m_P.Count(), then m_H[j] is true if the point m_P[j] is hidden. Otherwise, all points are visible. m_hidden_count = number of true values in the m_H[] array.
unsigned int ON_PointCloud::m_hidden_count = 0 |
ON_SimpleArray<ON_3dVector> ON_PointCloud::m_N |
Implementation - OPTIONAL point normal Either m_N[] has zero count or it has the same count as m_P[], in which case m_N[j] reports the color assigned to m_P[j].
ON_3dPointArray ON_PointCloud::m_P |
Implementation.
ON_Plane ON_PointCloud::m_plane |
ON_SimpleArray<double> ON_PointCloud::m_V |
Implementation - OPTIONAL point value (intensity) Either m_V[] has zero count or it has the same count as m_P[], in which case m_V[j] reports the value assigned to m_P[j].