WebCFace 2.5.2
Web-based Communication Framework & Dashboard-like UI
Loading...
Searching...
No Matches
webcface Namespace Reference

Namespaces

namespace  c_wcf
 
namespace  components
 
namespace  encoding
 
namespace  geometries
 
namespace  internal
 
namespace  level
 
namespace  message
 
namespace  robot_joints
 
namespace  server
 
namespace  traits
 

Classes

class  Arg
 引数の情報を表す。 More...
 
class  BasicLoggerBuf
 
struct  Box
 
class  CallHandle
 呼び出された関数の引数の取得と戻り値のセットをするインタフェース More...
 
class  Canvas2D
 Canvas2Dの送受信データを表すクラス More...
 
class  Canvas2DComponent
 Canvas2Dの各要素を表すクラス。 More...
 
class  Canvas3D
 Canvas3Dの送受信データを表すクラス More...
 
class  Canvas3DComponent
 Canvas3Dに表示する要素 More...
 
struct  CharType
 
struct  CharType< char >
 
struct  CharType< wchar_t >
 
struct  Circle
 
class  Client
 サーバーに接続するクライアント。 More...
 
struct  Cylinder
 
struct  Field
 ClientDataの参照とメンバ名とデータ名を持つクラス More...
 
struct  FieldBase
 メンバ名とデータ名を持つクラス More...
 
class  Func
 関数1つを表すクラス More...
 
class  FuncListener
 
struct  FuncNotFound
 Funcの実行ができなかった場合発生する例外 More...
 
struct  Geometry
 
class  Image
 (ver1.3から追加) 画像の送受信データを表すクラス More...
 
class  ImageFrame
 (ver1.3から追加) 画像データ More...
 
class  InputRef
 名前を指定しないText More...
 
struct  Line
 
class  Log
 ログの送受信データを表すクラス More...
 
class  LogLine
 
struct  LogLineData
 
class  LogLineW
 
class  Member
 Memberを指すクラス More...
 
struct  Plane
 
class  Point
 3次元 or 2次元の座標を表すクラス。 More...
 
struct  Polygon
 
class  Promise
 非同期で実行した関数の実行結果を取得するインタフェース。 More...
 
class  Queue
 排他制御をしたただのキュー More...
 
class  RobotJoint
 modelの関節1つを表すクラス More...
 
class  RobotLink
 リンク1つを表すクラス More...
 
class  RobotModel
 RobotModelの送受信データを表すクラス More...
 
class  Rotation
 3次元の回転を表すクラス More...
 
struct  ScopedUnlock
 
class  SharedString
 u8stringとstringとwstringをshared_ptrで持ち共有する More...
 
class  Size
 
class  SizeOption
 
struct  Sphere
 
class  TemporalCanvas2DComponent
 
class  TemporalCanvas3DComponent
 Canvas3Dを構築するときに使う一時的なCanvas3DComponent. More...
 
struct  TemporalComponent
 Canvas2D, Canvas3D (, View) に要素をaddするときに使うインタフェース More...
 
class  TemporalGeometry
 
class  TemporalViewComponent
 Viewを構築するときに使う一時的なViewComponent. More...
 
class  Text
 文字列の送受信データを表すクラス More...
 
class  Transform
 3次元の平行移動と回転 More...
 
class  ValAdaptor
 数値、文字列などの値を相互変換するクラス More...
 
class  Value
 実数値またはその配列の送受信データを表すクラス More...
 
class  Variant
 文字列、数値などの型を送受信するクラス More...
 
class  View
 Viewの送受信データを表すクラス More...
 
class  ViewComponent
 Viewに表示する要素です More...
 

Typedefs

using Rect = Plane
 
using AsyncFuncResult = Promise
 
using FuncCallHandle = CallHandle
 
using ImageBase = ImageFrame
 
using LoggerBuf = BasicLoggerBuf< char >
 
using LoggerBufW = BasicLoggerBuf< wchar_t >
 
template<typename T >
using StrMap1 = std::map< SharedString, T >
 
template<typename T >
using StrMap2 = StrMap1< StrMap1< T > >
 
using StrSet1 = std::set< SharedString >
 
using StrSet2 = StrMap1< StrSet1 >
 

Enumerations

enum class  Canvas2DComponentType { geometry = 0 , text = 3 }
 
enum class  Canvas3DComponentType { geometry = 0 , robot_model = 1 }
 
enum class  ViewColor {
  inherit = 0 , black = 1 , white = 2 , gray = 4 ,
  red = 8 , orange = 9 , yellow = 11 , green = 13 ,
  teal = 15 , cyan = 16 , blue = 18 , indigo = 19 ,
  purple = 21 , pink = 23
}
 
enum class  ViewComponentType {
  text = 0 , new_line = 1 , button = 2 , text_input = 3 ,
  decimal_input = 4 , number_input = 5 , toggle_input = 6 , select_input = 7 ,
  slider_input = 8 , check_input = 9
}
 
enum class  GeometryType {
  none = 0 , line = 1 , plane = 2 , rect = 2 ,
  box = 3 , circle = 4 , cylinder = 5 , sphere = 6 ,
  polygon = 7
}
 Canvas3Dと2Dで共用、図形の種類を表す More...
 
enum class  ImageColorMode {
  gray = 0 , bgr = 1 , bgra = 2 , rgb = 3 ,
  rgba = 4
}
 
enum class  ImageCompressMode { raw = 0 , jpeg = 1 , webp = 2 , png = 3 }
 
enum class  RobotJointType { fixed_absolute = 0 , fixed = 1 , rotational = 2 , prismatic = 3 }
 
enum class  AxisSequence {
  ZXZ , XYX , YZY , ZYZ ,
  XZX , YXY , XYZ , YZX ,
  ZXY , XZY , ZYX , YXZ
}
 オイラー角の回転順序 More...
 
enum class  ValType {
  none_ = 0 , string_ = 1 , bool_ = 2 , int_ = 3 ,
  float_ = 4 , double_ = 4
}
 引数や戻り値の型を表すenum More...
 

Functions

std::ostream & operator<< (std::ostream &os, const Arg &arg)
 
ViewColor colorFromRGB (double r, double g, double b)
 ViewColorのenumの中からRGBで指定した色に近いものを返す
 
TemporalGeometry line (const Point &begin, const Point &end)
 
TemporalGeometry polygon (const std::vector< Point > &points)
 
TemporalGeometry plane (const Transform &origin, double width, double height)
 
TemporalGeometry rect (const Point &origin, double width, double height)
 
TemporalGeometry rect (const Point &p1, const Point &p2)
 
TemporalGeometry box (const Point &vertex1, const Point &vertex2)
 
TemporalGeometry circle (const Transform &origin, double radius)
 
TemporalGeometry circle (const Point &origin, double radius)
 
TemporalGeometry cylinder (const Transform &origin, double radius, double length)
 
TemporalGeometry sphere (const Point &origin, double radius)
 
TemporalComponent< true, true, false > text (std::string_view text)
 textコンポーネント
 
TemporalComponent< true, true, false > text (std::wstring_view text)
 textコンポーネント (wstring)
 
TemporalViewComponent newLine ()
 newLineコンポーネント
 
template<typename T >
TemporalViewComponent button (std::string_view text, T &&func)
 buttonコンポーネント
 
template<typename T >
TemporalViewComponent button (std::wstring_view text, T &&func)
 buttonコンポーネント (wstring)
 
TemporalViewComponent textInput (std::string_view text="")
 
TemporalViewComponent textInput (std::wstring_view text)
 
TemporalViewComponent decimalInput (std::string_view text="")
 
TemporalViewComponent decimalInput (std::wstring_view text)
 
TemporalViewComponent numberInput (std::string_view text="")
 
TemporalViewComponent numberInput (std::wstring_view text)
 
TemporalViewComponent toggleInput (std::string_view text="")
 
TemporalViewComponent toggleInput (std::wstring_view text)
 
TemporalViewComponent selectInput (std::string_view text="")
 
TemporalViewComponent selectInput (std::wstring_view text)
 
TemporalViewComponent sliderInput (std::string_view text="")
 
TemporalViewComponent sliderInput (std::wstring_view text)
 
TemporalViewComponent checkInput (std::string_view text="")
 
TemporalViewComponent checkInput (std::wstring_view text)
 
Size sizeWH (int width, int height)
 幅 × 高さ でサイズを指定
 
Size sizeHW (int height, int width)
 高さ × 幅 でサイズを指定
 
SizeOption sizeWH (std::optional< int > width, std::optional< int > height)
 幅 × 高さ でサイズを指定
 
SizeOption sizeHW (std::optional< int > height, std::optional< int > width)
 高さ × 幅 でサイズを指定
 
RobotJoint fixedAbsolute (const Transform &origin)
 親リンクをもたず座標を定義する
 
RobotJoint fixedAbsolute (const Point &origin)
 親リンクをもたず座標を定義する
 
RobotJoint fixedJoint (std::string_view parent_name, const Transform &origin)
 固定された関節
 
RobotJoint fixedJoint (std::wstring_view parent_name, const Transform &origin)
 固定された関節 (wstring)
 
RobotJoint fixedJoint (std::string_view parent_name, const Point &origin)
 固定された関節
 
RobotJoint fixedJoint (std::wstring_view parent_name, const Point &origin)
 固定された関節 (wstring)
 
RobotJoint rotationalJoint (std::string_view name, std::string_view parent_name, const Transform &origin, double angle=0)
 回転関節
 
RobotJoint rotationalJoint (std::wstring_view name, std::wstring_view parent_name, const Transform &origin, double angle=0)
 回転関節 (wstring)
 
RobotJoint prismaticJoint (std::string_view name, std::string_view parent_name, const Transform &origin, double angle=0)
 直動関節
 
RobotJoint prismaticJoint (std::wstring_view name, std::wstring_view parent_name, const Transform &origin, double angle=0)
 直動関節 (wstring)
 
std::ostream & operator<< (std::ostream &os, const Text &data)
 Textをostreamに渡すとTextの中身を表示
 
template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator== (const T &other, const InputRef &ref)
 
template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator!= (const T &other, const InputRef &ref)
 
std::ostream & operator<< (std::ostream &os, const InputRef &ref)
 
Rotation rotFromEuler (const std::array< double, 3 > &rot, AxisSequence axis=AxisSequence::ZYX)
 回転をオイラー角から初期化
 
template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk, typename traits::ArraySizeTrait< R, 3 >::SizeMatchOrDynamic = traits::TraitOk>
Rotation rotFromEuler (const R &rot, AxisSequence axis=AxisSequence::ZYX)
 回転をオイラー角から初期化
 
Rotation rotFromEuler (double angle1, double angle2, double angle3, AxisSequence axis=AxisSequence::ZYX)
 回転をオイラー角から初期化
 
Rotation rotFromMatrix (const std::array< std::array< double, 3 >, 3 > &matrix)
 回転を回転行列から初期化
 
Rotation rotFromQuat (const std::array< double, 4 > &quat)
 回転をクォータニオンから初期化
 
template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk, typename traits::ArraySizeTrait< R, 4 >::SizeMatchOrDynamic = traits::TraitOk>
Rotation rotFromQuat (const R &quat)
 回転をクォータニオンから初期化
 
Rotation rotFromQuat (double w, double x, double y, double z)
 回転をクォータニオンから初期化
 
Rotation rotFromAxisAngle (const std::array< double, 3 > &axis, double angle)
 回転を回転軸と角度から初期化
 
template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk, typename traits::ArraySizeTrait< R, 3 >::SizeMatchOrDynamic = traits::TraitOk>
Rotation rotFromAxisAngle (const R &axis, double angle)
 回転を回転軸と角度から初期化
 
Rotation rot2D (double rot)
 2次元の回転を初期化
 
Rotation rotX (double rot)
 X軸周りの回転
 
Rotation rotY (double rot)
 Y軸周りの回転
 
Rotation rotZ (double rot)
 Z軸周りの回転
 
Transform identity ()
 移動なし、回転なしのTransform
 
Transform translation (const Point &pos)
 平行移動のみのTransform
 
Transform translation (double x, double y, double z)
 平行移動のみのTransform
 
Transform translation (double x, double y)
 2次元の平行移動のみのTransform
 
std::ostream & operator<< (std::ostream &os, const Value &data)
 Valueをostreamに渡すとValueの中身を表示
 
template<typename CharT >
std::basic_string< CharT > strOrEmpty (const CharT *p)
 
ClientgetWcli (wcfClient *wcli)
 voidポインタからclientオブジェクトを復元
 
PromisegetPromise (wcfPromise *res)
 
template<typename MultiVal >
ValAdaptor fromCVal (const MultiVal &val)
 
template<typename CharT >
std::vector< ValAdaptorargsFromCVal (const typename CharType< CharT >::CVal *args, int arg_size)
 
template<typename CharT >
auto resultToCVal (const ValAdaptor &result_val)
 
static std::streambuf * getLoggerBuf (const std::shared_ptr< internal::ClientData > &data, const SharedString &field)
 
static std::wstreambuf * getLoggerBufW (const std::shared_ptr< internal::ClientData > &data, const SharedString &field)
 
static std::ostream & getLoggerOS (const std::shared_ptr< internal::ClientData > &data, const SharedString &field)
 
static std::wostream & getLoggerWOS (const std::shared_ptr< internal::ClientData > &data, const SharedString &field)
 
static std::string internalCanvas2DId (int type, int idx)
 
static std::string internalCanvas3DId (int type, int idx)
 
static bool isZero (double value)
 
static std::array< double, 3 > matrixToProperEuler (const std::array< std::array< double, 3 >, 3 > &rmat, AxisSequence axis)
 
static std::array< double, 3 > matrixToTaitBryanEuler (const std::array< std::array< double, 3 >, 3 > &rmat, AxisSequence axis)
 
void usingUTF8 (bool flag)
 webcfaceが使用するエンコーディングを設定する
 
bool usingUTF8 ()
 webcfaceが使用するエンコーディングを取得する
 
std::wstring toWide (std::string_view name_ref)
 stringをwstringに変換する
 
std::string toNarrow (std::wstring_view name_ref)
 wstringをstringに変換する
 
template<typename T >
ValType valTypeOf ()
 TのValTypeを得る
 
std::string valTypeStr (ValType a)
 型名を文字列で取得
 
std::ostream & operator<< (std::ostream &os, ValType a)
 型名を出力する。
 
template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T > &&!std::is_same_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator== (const T &other, const ValAdaptor &val)
 
template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T > &&!std::is_same_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator!= (const T &other, const ValAdaptor &val)
 
std::ostream & operator<< (std::ostream &os, const ValAdaptor &a)
 
template<int n = 0, typename T >
void argToTuple (const std::vector< ValAdaptor > &args, T &tuple)
 ValAdaptorのリストから任意の型のタプルに変換する
 

Variables

constexpr char field_separator = '.'
 
const std::array< int, 3 > version
 クライアントのバージョン
 
const char * version_s = "2.5.2"
 クライアントのバージョン(文字列)
 
std::unordered_map< const wcfFuncCallHandle *, FuncCallHandlefetched_handles
 wcfFuncFetchCallで取得されたwcfFuncCallHandleのリスト
 
std::unordered_map< const wcfFuncCallHandleW *, FuncCallHandlefetched_handles_w
 
std::unordered_map< const wcfMultiVal *, ValAdaptorfunc_val_list
 wcfFuncRun, wcfFuncGetResultで取得されたwcfMultiValとValAdaptorのリスト
 
std::unordered_map< const wcfMultiValW *, ValAdaptorfunc_val_list_w
 
std::unordered_map< const wcfViewComponent *, const std::vector< ViewComponent > > view_list
 wcfViewGetで取得されたwcfViewComponentとViewComponentBase
 
std::unordered_map< const wcfViewComponentW *, const std::vector< ViewComponent > > view_list_w
 
std::vector< wcfClient * > wcli_list
 wcfInitで作られたクライアントのリスト
 
std::vector< Promise * > func_result_list
 wcfFuncRunAsyncで取得されたwcfPromiseのリスト
 

Typedef Documentation

◆ AsyncFuncResult

◆ FuncCallHandle

◆ ImageBase

◆ LoggerBuf

using LoggerBuf = BasicLoggerBuf<char>

◆ LoggerBufW

using LoggerBufW = BasicLoggerBuf<wchar_t>

◆ StrMap1

template<typename T >
using StrMap1 = std::map<SharedString, T>

◆ StrMap2

template<typename T >
using StrMap2 = StrMap1<StrMap1<T> >

◆ StrSet1

using StrSet1 = std::set<SharedString>

◆ StrSet2

Enumeration Type Documentation

◆ AxisSequence

enum class AxisSequence
strong

オイラー角の回転順序

Since
ver2.5
  • 右手系の座標系で、 内的回転(intrinsic rotation)でz軸,y軸,x軸の順に回転させる系 = 外的回転(extrinsic rotation)でX軸,Y軸,Z軸の順に回転させる系 = 回転行列がZ(α)Y(β)X(γ)と表される系 を、 AxisSequence::ZYX と表記する。
  • ver2.4までの実装はすべてZYXで、現在もWebCFaceの内部表現は基本的にZYXの系である。
  • またWebCFaceのインタフェースでオイラー角の回転角を指定する場合、 軸の指定順は内的回転を指す。(AxisSequenceにおける左から右の並び順と一致。)
Enumerator
ZXZ 
XYX 
YZY 
ZYZ 
XZX 
YXY 
XYZ 
YZX 
ZXY 
XZY 
ZYX 
YXZ 

◆ Canvas2DComponentType

enum class Canvas2DComponentType
strong
Enumerator
geometry 
text 

◆ Canvas3DComponentType

enum class Canvas3DComponentType
strong
Enumerator
geometry 
robot_model 

◆ GeometryType

enum class GeometryType
strong

Canvas3Dと2Dで共用、図形の種類を表す

Enumerator
none 
line 
plane 
rect 
box 
circle 
cylinder 
sphere 
polygon 

◆ ImageColorMode

enum class ImageColorMode
strong
Enumerator
gray 
bgr 
bgra 
rgb 
rgba 

◆ ImageCompressMode

enum class ImageCompressMode
strong
Enumerator
raw 
jpeg 
webp 
png 

◆ RobotJointType

enum class RobotJointType
strong
Enumerator
fixed_absolute 
fixed 
rotational 
prismatic 

◆ ValType

enum class ValType
strong

引数や戻り値の型を表すenum

Enumerator
none_ 
string_ 
bool_ 
int_ 
float_ 
double_ 

◆ ViewColor

enum class ViewColor
strong
Enumerator
inherit 
black 
white 
gray 
red 
orange 
yellow 
green 
teal 
cyan 
blue 
indigo 
purple 
pink 

◆ ViewComponentType

enum class ViewComponentType
strong
Enumerator
text 
new_line 
button 
text_input 
decimal_input 
number_input 
toggle_input 
select_input 
slider_input 
check_input 

Function Documentation

◆ argToTuple()

template<int n = 0, typename T >
void argToTuple ( const std::vector< ValAdaptor > &  args,
T &  tuple 
)

ValAdaptorのリストから任意の型のタプルに変換する

◆ colorFromRGB()

ViewColor colorFromRGB ( double  r,
double  g,
double  b 
)

ViewColorのenumの中からRGBで指定した色に近いものを返す

Since
ver2.5
  • r, g, b はそれぞれ 0.0〜1.0 で指定
  • 主観に基づいており、わりとてきとうです

◆ getLoggerBuf()

static std::streambuf * getLoggerBuf ( const std::shared_ptr< internal::ClientData > &  data,
const SharedString field 
)
static

◆ getLoggerBufW()

static std::wstreambuf * getLoggerBufW ( const std::shared_ptr< internal::ClientData > &  data,
const SharedString field 
)
static

◆ getLoggerOS()

static std::ostream & getLoggerOS ( const std::shared_ptr< internal::ClientData > &  data,
const SharedString field 
)
static

◆ getLoggerWOS()

static std::wostream & getLoggerWOS ( const std::shared_ptr< internal::ClientData > &  data,
const SharedString field 
)
static

◆ identity()

Transform identity ( )
inline

移動なし、回転なしのTransform

Since
ver1.4

◆ internalCanvas2DId()

static std::string internalCanvas2DId ( int  type,
int  idx 
)
inlinestatic

◆ internalCanvas3DId()

static std::string internalCanvas3DId ( int  type,
int  idx 
)
inlinestatic

◆ isZero()

static bool isZero ( double  value)
inlinestatic

◆ matrixToProperEuler()

static std::array< double, 3 > matrixToProperEuler ( const std::array< std::array< double, 3 >, 3 > &  rmat,
AxisSequence  axis 
)
inlinestatic

◆ matrixToTaitBryanEuler()

static std::array< double, 3 > matrixToTaitBryanEuler ( const std::array< std::array< double, 3 >, 3 > &  rmat,
AxisSequence  axis 
)
inlinestatic

◆ operator!=() [1/2]

template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator!= ( const T &  other,
const InputRef ref 
)

◆ operator!=() [2/2]

template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T > &&!std::is_same_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator!= ( const T &  other,
const ValAdaptor val 
)

◆ operator<<() [1/6]

std::ostream & operator<< ( std::ostream &  os,
const Arg arg 
)

◆ operator<<() [2/6]

std::ostream & operator<< ( std::ostream &  os,
const InputRef ref 
)
inline

◆ operator<<() [3/6]

std::ostream & operator<< ( std::ostream &  os,
const Text data 
)

Textをostreamに渡すとTextの中身を表示

◆ operator<<() [4/6]

std::ostream & operator<< ( std::ostream &  os,
const ValAdaptor a 
)
inline

◆ operator<<() [5/6]

std::ostream & operator<< ( std::ostream &  os,
const Value data 
)

Valueをostreamに渡すとValueの中身を表示

1.8〜 複数の値に対応 & 受信してない時nullと表示するようにした

◆ operator<<() [6/6]

std::ostream & operator<< ( std::ostream &  os,
ValType  a 
)
inline

型名を出力する。

◆ operator==() [1/2]

template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator== ( const T &  other,
const InputRef ref 
)

◆ operator==() [2/2]

template<typename T , typename std::enable_if_t< std::is_constructible_v< ValAdaptor, T > &&!std::is_same_v< ValAdaptor, T >, std::nullptr_t > = nullptr>
bool operator== ( const T &  other,
const ValAdaptor val 
)

◆ rot2D()

Rotation rot2D ( double  rot)
inline

2次元の回転を初期化

Since
ver2.5
Parameters
rot回転角(z)

rotZ() と同じ。

◆ rotFromAxisAngle() [1/2]

template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk, typename traits::ArraySizeTrait< R, 3 >::SizeMatchOrDynamic = traits::TraitOk>
Rotation rotFromAxisAngle ( const R &  axis,
double  angle 
)
inline

回転を回転軸と角度から初期化

Since
ver2.5

std::arrayに限らず任意の配列型(固定長で3要素か、またはvectorのように可変)

◆ rotFromAxisAngle() [2/2]

Rotation rotFromAxisAngle ( const std::array< double, 3 > &  axis,
double  angle 
)
inline

回転を回転軸と角度から初期化

Since
ver2.5

◆ rotFromEuler() [1/3]

template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk, typename traits::ArraySizeTrait< R, 3 >::SizeMatchOrDynamic = traits::TraitOk>
Rotation rotFromEuler ( const R &  rot,
AxisSequence  axis = AxisSequence::ZYX 
)
inline

回転をオイラー角から初期化

Since
ver2.5
Parameters
axis回転軸の順序
rotオイラー角 (内的回転の順の3パラメーター) std::arrayに限らず任意の配列型(固定長で3要素か、またはvectorのように可変)

◆ rotFromEuler() [2/3]

Rotation rotFromEuler ( const std::array< double, 3 > &  rot,
AxisSequence  axis = AxisSequence::ZYX 
)
inline

回転をオイラー角から初期化

Since
ver2.5
Parameters
rotオイラー角 (内的回転の順の3パラメーター)
axis回転軸の順序

◆ rotFromEuler() [3/3]

Rotation rotFromEuler ( double  angle1,
double  angle2,
double  angle3,
AxisSequence  axis = AxisSequence::ZYX 
)
inline

回転をオイラー角から初期化

Since
ver2.5
Parameters
axis回転軸の順序

◆ rotFromMatrix()

Rotation rotFromMatrix ( const std::array< std::array< double, 3 >, 3 > &  matrix)
inline

回転を回転行列から初期化

Since
ver2.5
Parameters
posx, y, z 座標
rotMatrix回転行列
Todo:
Eigenの配列とか生ポインタとか? 他の型から行列の値を渡せると良い?

◆ rotFromQuat() [1/3]

template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk, typename traits::ArraySizeTrait< R, 4 >::SizeMatchOrDynamic = traits::TraitOk>
Rotation rotFromQuat ( const R &  quat)
inline

回転をクォータニオンから初期化

Since
ver2.5
Parameters
quatクォータニオン (w, x, y, z) std::arrayに限らず任意の配列型(固定長で4要素か、またはvectorのように可変)

◆ rotFromQuat() [2/3]

Rotation rotFromQuat ( const std::array< double, 4 > &  quat)
inline

回転をクォータニオンから初期化

Since
ver2.5
Parameters
quatクォータニオン (w, x, y, z)

◆ rotFromQuat() [3/3]

Rotation rotFromQuat ( double  w,
double  x,
double  y,
double  z 
)
inline

回転をクォータニオンから初期化

Since
ver2.5

◆ rotX()

Rotation rotX ( double  rot)
inline

X軸周りの回転

Since
ver2.5

◆ rotY()

Rotation rotY ( double  rot)
inline

Y軸周りの回転

Since
ver2.5

◆ rotZ()

Rotation rotZ ( double  rot)
inline

Z軸周りの回転

Since
ver2.5

rot2D() と同じ。

◆ sizeHW() [1/2]

Size sizeHW ( int  height,
int  width 
)
inline

高さ × 幅 でサイズを指定

Since
ver2.0

◆ sizeHW() [2/2]

SizeOption sizeHW ( std::optional< int >  height,
std::optional< int >  width 
)
inline

高さ × 幅 でサイズを指定

Since
ver2.0

◆ sizeWH() [1/2]

Size sizeWH ( int  width,
int  height 
)
inline

幅 × 高さ でサイズを指定

Since
ver2.0

◆ sizeWH() [2/2]

SizeOption sizeWH ( std::optional< int >  width,
std::optional< int >  height 
)
inline

幅 × 高さ でサイズを指定

Since
ver2.0

◆ toNarrow()

std::string toNarrow ( std::wstring_view  name_ref)

wstringをstringに変換する

Since
ver2.0

◆ toWide()

std::wstring toWide ( std::string_view  name_ref)

stringをwstringに変換する

Since
ver2.0

◆ translation() [1/3]

Transform translation ( const Point pos)
inline

平行移動のみのTransform

Since
ver2.5

◆ translation() [2/3]

Transform translation ( double  x,
double  y 
)
inline

2次元の平行移動のみのTransform

Since
ver2.5

◆ translation() [3/3]

Transform translation ( double  x,
double  y,
double  z 
)
inline

平行移動のみのTransform

Since
ver2.5

◆ usingUTF8() [1/2]

bool usingUTF8 ( )

webcfaceが使用するエンコーディングを取得する

Since
ver2.0

◆ usingUTF8() [2/2]

void usingUTF8 ( bool  flag)

webcfaceが使用するエンコーディングを設定する

Since
ver2.0
  • windowsでは、falseの場合webcfaceの各種クラスのインタフェースで使われる std::string をすべてANSIエンコーディングとみなし、 内部でutf8と相互変換する。
  • デフォルトは true (以前のバージョンとの互換性のため)
  • unixでは効果がない(この設定に関わらず文字列はすべてutf8とみなされ相互変換は行われない)
  • std::wstringには影響しないが、windowsで loggerWStreamBuf(), loggerWOStream() を使用する場合は出力するコンソールのコードページに合わせること

◆ valTypeOf()

template<typename T >
ValType valTypeOf ( )

TのValTypeを得る

◆ valTypeStr()

std::string valTypeStr ( ValType  a)
inline

型名を文字列で取得

Since
ver1.9.1

Variable Documentation

◆ field_separator

constexpr char field_separator = '.'
constexpr

◆ version

const std::array< int, 3 > version
Initial value:
= {
2 , 5 , 2 }

クライアントのバージョン

Since
ver1.2

WEBCFACE_VERSION_MAJOR マクロなどでも取得できるが、 マクロはコンパイル時に使用したヘッダーのバージョンを表すのに対し こちらはリンク時のバージョンが得られる

Returns
major, minor, rev のバージョン番号

◆ version_s

const char * version_s = "2.5.2"

クライアントのバージョン(文字列)

Since
ver1.2
Returns
"x.y.z" 形式の文字列