Rhino C++ API
7.26
|
#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... | |
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... | |
![]() | |
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) |
bool | Translate (const ON_3dVector &translation_vector) |
![]() | |
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 | |
![]() | |
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 } |
![]() | |
const static ON_Geometry | Unset |
/ / Copyright (c) 1993-2012 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 ponts 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 englis description of the reason the object is not valid is appened 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 |
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].