18 # define OOC_API __declspec (dllexport) 20 # define OOC_API __declspec (dllimport) 50 : window_min(in_rect.left, in_rect.bottom, 0),
51 window_max(in_rect.right, in_rect.top, 0),
52 world_to_window(in_world_to_window),
65 auto window_bounds = world_to_window.Transform(8, world_bounds);
67 HPS::Point window_min_bound = window_bounds[0];
68 for (
HPS::Point const & window_bound : window_bounds) {
69 if (window_bound.x < window_min_bound.x)
70 window_min_bound.x = window_bound.x;
71 if (window_bound.y < window_min_bound.y)
72 window_min_bound.y = window_bound.y;
75 HPS::Point window_max_bound = window_bounds[0];
76 for (
HPS::Point const & window_bound : window_bounds) {
77 if (window_bound.x > window_max_bound.x)
78 window_max_bound.x = window_bound.x;
79 if (window_bound.y > window_max_bound.y)
80 window_max_bound.y = window_bound.y;
83 if (window_max.x < window_min_bound.x)
86 if (window_min.x > window_max_bound.x)
89 if (window_max.y < window_min_bound.y)
92 if (window_min.y > window_max_bound.y)
103 HPS::Point window_point = world_to_window.Transform(world_space_point);
105 if (window_point.x < window_min.x)
108 if (window_point.y < window_min.y)
111 if (window_point.x > window_max.x)
114 if (window_point.y > window_max.y)
120 HPS::Point const & GetWindowMin()
const {
return window_min; }
122 HPS::Point const & GetWindowMax()
const {
return window_max; }
137 typedef std::vector<Area, HPS::Allocator<Area>> AreaArray;
180 bool Intersects(
HPS::Point const & world_space_point)
const;
183 HPS::OOC::AreaArray
const & GetAreas()
const;
194 bool GetInspecting()
const;
197 friend class HBaseView;
231 static const HPS::Type staticType = HPS::Type::OOCImportNotifier;
272 static const HPS::Type staticType = HPS::Type::OOCImportOptionsKit;
321 bool ShowTarget(
HPS::Model & out_model)
const;
335 bool ShowManualUpdates(
bool & out_manual_updates)
const;
349 bool ShowCenterBounding(
bool & out_center_bounding)
const;
367 bool ShowTranslation(
double & out_x,
double & out_y,
double & out_z)
const;
413 class OOC_API QueryResult;
414 class FilterForwarder;
423 bool operator== (
NodeHandle const & other)
const;
424 bool operator!= (
NodeHandle const & other)
const;
449 friend class HPS::OOC::FilterForwarder;
461 ErrorInvalidPointCloud,
463 ErrorInternalFailure,
464 ErrorCouldNotFindNode,
465 ErrorInputIndicesAreNotStrictlyIncreasing,
466 ErrorIllegalInputIndices,
468 ErrorFileSystemFailure,
474 Result DeleteNode(
NodeHandle const & node_handle)
const;
481 Result DeleteSpecificPoints(
NodeHandle const & node_handle, int32_t
const point_indices[],
size_t count)
const;
491 Result OptimizeDeltas()
const;
514 return HPS::OOC::SynchronizedActions::Result::Success;
522 ErrorInvalidPointCloud,
525 ErrorCyclicFileDependencies,
526 ErrorSerializationFailure,
527 ErrorDeserializationFailure,
528 ErrorIllegalFileName,
529 ErrorFileSystemFailure,
530 ErrorOOCRootAlreadyExists,
534 typedef std::vector<PointCloud, HPS::Allocator<PointCloud>> PointCloudArray;
554 bool operator== (
PointCloud const & other)
const;
555 bool operator!= (
PointCloud const & other)
const;
580 bool PollUpdateNeeded();
626 bool HasUncommittedDeltas();
636 static bool ShowPointClouds(
HPS::Model const & in_model, HPS::OOC::PointCloudArray & out_point_clouds);
683 (void)min_bound; (void)max_bound;
693 (void)point; (void)point_index;
708 ErrorFileSystemFailure,
709 ErrorDeserializationFailure,
710 ErrorCouldNotFindNode,
728 Status GetStatus()
const;
746 Point GetNodePoint()
const;
750 size_t GetNodePointIndex()
const;
754 Storage GetStorage()
const;
Definition: sprk_ooc.h:538
Definition: sprk_ooc.h:700
HPS::Type ObjectType() const
Definition: sprk_ooc.h:232
Result
Definition: sprk_ooc.h:458
virtual bool RejectPointsInMemory()
Definition: sprk_ooc.h:656
Definition: sprk_ooc.h:39
virtual HPS::OOC::SynchronizedActions::Result Actions(SynchronizedActions const &actions)
Definition: sprk_ooc.h:512
HPS_INLINE void Generate_Cuboid_Points(Point_3D< F > *points) const
Definition: hps.h:4160
Status
Definition: sprk_ooc.h:704
virtual bool AcceptPoint(Point const &point, size_t point_index)
Definition: sprk_ooc.h:691
Definition: sprk_ooc.h:454
Definition: sprk_ooc.h:250
HPS::Type ObjectType() const
Definition: sprk_ooc.h:273
Definition: sprk_ooc.h:647
virtual bool RejectNode(NodeHandle const &node_handle)
Definition: sprk_ooc.h:671
HPS::MatrixKit const & GetWorldToWindow() const
Definition: sprk_ooc.h:125
Definition: sprk_ooc.h:391
virtual bool RejectBounding(Point const &min_bound, Point const &max_bound)
Definition: sprk_ooc.h:681
bool Intersects(HPS::Point const &world_space_point) const
Definition: sprk_ooc.h:101
bool Intersects(HPS::SimpleCuboid const &world_space_bounding) const
Definition: sprk_ooc.h:60
HPS::UTF8 const & GetName() const
Definition: sprk_ooc.h:128
Definition: sprk_ooc.h:142
IOResult
Definition: sprk_ooc.h:520
std::vector< Key, Allocator< Key > > KeyArray
Array of type HPS::Key.
Definition: hps.h:6952
Definition: sprk_ooc.h:502
Storage
Definition: sprk_ooc.h:731
Definition: sprk_ooc.h:203
virtual bool RejectPointsOnDisk()
Definition: sprk_ooc.h:663
Definition: sprk_ooc.h:44
Definition: sprk_ooc.h:416
std::vector< int32_t, Allocator< int32_t > > Int32Array
Array of type int32_t.
Definition: hps.h:6995