ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
CVTools.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 "CVCoreLib.h"
12 #include "QtCompat.h"
13 
14 // system
15 #include <QElapsedTimer>
16 #include <QString>
17 #include <string>
18 #include <vector>
19 
20 class CVTools {
21 public:
22  CV_CORE_LIB_API static std::string GetFileName(const std::string file_name);
23  CV_CORE_LIB_API static void TimeStart();
24  CV_CORE_LIB_API static QString TimeOff();
25 
26  CV_CORE_LIB_API static QString ToNativeSeparators(const QString& path);
27 
28  // string to QString
29  CV_CORE_LIB_API static QString ToQString(const std::string& s);
30  // QString to string
31  CV_CORE_LIB_API static std::string FromQString(const QString& qs);
32 
33  CV_CORE_LIB_API static std::string JoinStrVec(
34  const std::vector<std::string>& v, std::string splitor = " ");
35 
36  // QString(Unicode) -> std::string (GBK)
37  CV_CORE_LIB_API static std::string FromUnicode(const QString& qstr);
38 
39  // std::string (GBK) -> QString(Unicode)
40  CV_CORE_LIB_API static QString ToUnicode(const std::string& cstr);
41 
42  CV_CORE_LIB_API static std::string ExtractDigitAlpha(
43  const std::string& str);
44 
45  CV_CORE_LIB_API static int TranslateKeyCode(int key);
46 
47  CV_CORE_LIB_API static bool FileMappingReader(const std::string& filename,
48  void* data,
49  unsigned long& size);
50  CV_CORE_LIB_API static bool FileMappingWriter(const std::string& filename,
51  const void* data,
52  unsigned long size);
53 
54  CV_CORE_LIB_API static bool QMappingReader(const std::string& filename,
55  std::vector<size_t>& indices);
56  CV_CORE_LIB_API static bool QMappingWriter(const std::string& filename,
57  const void* data,
58  std::size_t length);
59  CV_CORE_LIB_API static std::wstring Char2Wchar(const char* szStr);
60  CV_CORE_LIB_API static std::string Wchar2Char(const wchar_t* szStr);
61 
62 private:
63  CVTools() = delete;
64 
65  static QElapsedTimer s_time;
66 };
#define CV_CORE_LIB_API
Definition: CVCoreLibWin.h:15
std::string filename
int size
static QString TimeOff()
Definition: CVTools.cpp:39
static std::string ExtractDigitAlpha(const std::string &str)
Definition: CVTools.cpp:80
static std::string FromQString(const QString &qs)
Definition: CVTools.cpp:100
static QString ToQString(const std::string &s)
Definition: CVTools.cpp:92
static int TranslateKeyCode(int key)
Definition: CVTools.cpp:119
static std::string FromUnicode(const QString &qstr)
Definition: CVTools.cpp:56
static void TimeStart()
Definition: CVTools.cpp:37
static std::wstring Char2Wchar(const char *szStr)
Definition: CVTools.cpp:169
static bool QMappingWriter(const std::string &filename, const void *data, std::size_t length)
Definition: CVTools.cpp:331
static QString ToUnicode(const std::string &cstr)
Definition: CVTools.cpp:68
static std::string Wchar2Char(const wchar_t *szStr)
Definition: CVTools.cpp:175
static std::string GetFileName(const std::string file_name)
Definition: CVTools.cpp:29
static bool QMappingReader(const std::string &filename, std::vector< size_t > &indices)
Definition: CVTools.cpp:280
static bool FileMappingReader(const std::string &filename, void *data, unsigned long &size)
Definition: CVTools.cpp:181
static bool FileMappingWriter(const std::string &filename, const void *data, unsigned long size)
Definition: CVTools.cpp:234
static QString ToNativeSeparators(const QString &path)
Definition: CVTools.cpp:45
static std::string JoinStrVec(const std::vector< std::string > &v, std::string splitor=" ")
Definition: CVTools.cpp:108
__host__ __device__ float length(float2 v)
Definition: cutil_math.h:1162
static const std::string path
Definition: PointCloud.cpp:59