ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
CVMiscTools.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 // Local
11 #include "CVGeom.h"
12 #include "CVToolbox.h"
13 
14 namespace cloudViewer {
17 public:
19 
23  static void EnlargeBox(CCVector3& dimMin, CCVector3& dimMax, double coef);
24 
26 
32  static void MakeMinAndMaxCubical(CCVector3& dimMin,
33  CCVector3& dimMax,
34  double enlargeFactor = 0.01);
35 
37 
43  static void ComputeBaseVectors(const CCVector3& N,
44  CCVector3& X,
45  CCVector3& Y);
47 
53  static void ComputeBaseVectors(const CCVector3d& N,
54  CCVector3d& X,
55  CCVector3d& Y);
56 
58 
63  static bool TriBoxOverlap(const CCVector3& boxcenter,
64  const CCVector3& boxhalfsize,
65  const CCVector3* triverts[3]);
66 
68 
73  static bool TriBoxOverlapd(const CCVector3d& boxcenter,
74  const CCVector3d& boxhalfsize,
75  const CCVector3d triverts[3]);
76 };
77 
78 } // namespace cloudViewer
#define CV_CORE_LIB_API
Definition: CVCoreLibWin.h:15
void * X
Definition: SmallVector.cpp:45
Miscellaneous useful functions (geometrical elements handling)
Definition: CVMiscTools.h:16
Empty class - for classification purpose only.
Definition: CVToolbox.h:15
Generic file read and write utility for python interface.