43 lines
1.6 KiB
C++
43 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#ifndef igs_maxmin_lens_matrix_h
|
|
#define igs_maxmin_lens_matrix_h
|
|
|
|
#include <vector>
|
|
|
|
namespace igs {
|
|
namespace maxmin {
|
|
const int diameter_from_outer_radius(const double outer_radius);
|
|
const double outer_radius_from_radius(const double radius,
|
|
const double smooth_outer_range);
|
|
const int alloc_and_shape_lens_matrix(
|
|
const double radius // 0=<
|
|
,
|
|
const double outer_radius, const int polygon_number // =2
|
|
,
|
|
const double roll_degree // 0<= ... <=360
|
|
,
|
|
std::vector<int> &lens_offsets, std::vector<int> &lens_sizes,
|
|
std::vector<std::vector<double>> &lens_ratio);
|
|
/*
|
|
lens_offsetsとlens_sizesで影響範囲を表わすmatrixを表わす
|
|
radiusは影響円の半径
|
|
matrix(縦横)サイズ(lens_offsets.size())は
|
|
円(radius)が入る最小整数値でかつ、
|
|
1以上の奇数(1,3,5,6)値
|
|
*/
|
|
const void reshape_lens_matrix(const double radius // 0<=
|
|
,
|
|
const double outer_radius,
|
|
const int odd_diameter,
|
|
const int polygon_number // =2
|
|
,
|
|
const double roll_degree // 0<= ... <=360
|
|
,
|
|
std::vector<int> &lens_offsets,
|
|
std::vector<int> &lens_sizes,
|
|
std::vector<std::vector<double>> &lens_ratio);
|
|
}
|
|
}
|
|
|
|
#endif /* !igs_maxmin_lens_matrix_h */
|