#include <QuadricCollision.h>
Public Member Functions | |
int | ColFreeAngle (const std::vector< lld > &colli_map) |
std::vector< Eigen::Vector3d > | ConvertCollisionMapToEigenDirections (const std::vector< lld > &colli_map) |
std::vector< int > | ConvertCollisionMapToIntMap (const std::vector< lld > &colli_map) |
bool | DetectCollision (WF_edge *target_e, DualGraph *ptr_subgraph, std::vector< lld > &result_map) |
bool | DetectCollision (WF_edge *target_e, WF_edge *order_e, std::vector< lld > &colli_map) |
void | DetectCollision (WF_edge *target_e, std::vector< WF_edge * > exist_edge, std::vector< GeoV3 > &output) |
int | Divide () |
void | Init (vector< lld > &colli_map) |
void | ModifyAngle (std::vector< lld > &angle_state, const std::vector< lld > &colli_map) |
QuadricCollision () | |
QuadricCollision (WireFrame *ptr_frame) | |
~QuadricCollision () | |
Public Attributes | |
WireFrame * | ptr_frame_ |
WF_edge * | target_e_ |
Private Member Functions | |
bool | Case (GeoV3 target_start, GeoV3 target_end, GeoV3 order_start, GeoV3 order_end, GeoV3 normal) |
Eigen::Vector3d | ConvertAngleToEigenDirection (double theta, double phi) |
bool | DetectAngle (GeoV3 connect, GeoV3 end, GeoV3 target_end, GeoV3 normal) |
bool | DetectBulk (WF_edge *order_e, double theta, double phi) |
bool | DetectCone (GeoV3 start, GeoV3 normal, GeoV3 target_start, GeoV3 target_end) |
bool | DetectCylinder (GeoV3 start, GeoV3 normal, GeoV3 target_start, GeoV3 target_end) |
bool | DetectEdge (WF_edge *order_e, vector< lld > &colli_map) |
bool | DetectEdges (std::vector< WF_edge * > exist_edge, double theta, double phi) |
bool | DetectTopCylinder (GeoV3 start, GeoV3 normal, GeoV3 target_start, GeoV3 target_end) |
bool | DetectTriangle (Triangle triangle, GeoV3 target_start, GeoV3 target_end) |
double | Distance (WF_edge *order_e) |
void | GenerateVolume (GeoV3 start, GeoV3 end, GeoV3 target_start, GeoV3 target_end, GeoV3 normal) |
void | GenerateVolume (GeoV3 connect, GeoV3 target_s, GeoV3 order_s, GeoV3 normal) |
GeoV3 | Orientation (double theta, double phi) |
bool | Parallel (GeoV3 a, GeoV3 b) |
bool | ParallelCase (GeoV3 target_start, GeoV3 target_end, GeoV3 order_start, GeoV3 order_end, GeoV3 normal) |
gte::Segment< 3, float > | Seg (point target_start, point target_end) |
gte::Segment< 3, float > | Seg (GeoV3 target_start, GeoV3 target_end) |
bool | SpecialCase (GeoV3 connect, GeoV3 target_s, GeoV3 order_s, GeoV3 normal) |
gte::Triangle< 3, float > | Tri (GeoV3 a, GeoV3 b, GeoV3 c) |
Private Attributes | |
std::vector< Triangle > | bulk_ |
std::vector< std::vector< lld > * > | colli_map_ |
int | divide_ |
ExtruderCone | extruder_ |
Definition at line 72 of file QuadricCollision.h.
QuadricCollision::QuadricCollision | ( | ) |
Definition at line 22 of file QuadricCollision.cpp.
QuadricCollision::QuadricCollision | ( | WireFrame * | ptr_frame | ) |
Definition at line 26 of file QuadricCollision.cpp.
QuadricCollision::~QuadricCollision | ( | ) |
Definition at line 43 of file QuadricCollision.cpp.
|
private |
Definition at line 478 of file QuadricCollision.cpp.
Definition at line 190 of file QuadricCollision.cpp.
|
inlineprivate |
Definition at line 105 of file QuadricCollision.h.
std::vector< Eigen::Vector3d > QuadricCollision::ConvertCollisionMapToEigenDirections | ( | const std::vector< lld > & | colli_map | ) |
Definition at line 222 of file QuadricCollision.cpp.
std::vector< int > QuadricCollision::ConvertCollisionMapToIntMap | ( | const std::vector< lld > & | colli_map | ) |
Definition at line 275 of file QuadricCollision.cpp.
|
private |
Definition at line 471 of file QuadricCollision.cpp.
|
private |
Definition at line 407 of file QuadricCollision.cpp.
bool QuadricCollision::DetectCollision | ( | WF_edge * | target_e, |
DualGraph * | ptr_subgraph, | ||
std::vector< lld > & | result_map | ||
) |
bool QuadricCollision::DetectCollision | ( | WF_edge * | target_e, |
WF_edge * | order_e, | ||
std::vector< lld > & | colli_map | ||
) |
Definition at line 122 of file QuadricCollision.cpp.
void QuadricCollision::DetectCollision | ( | WF_edge * | target_e, |
std::vector< WF_edge * > | exist_edge, | ||
std::vector< GeoV3 > & | output | ||
) |
Definition at line 132 of file QuadricCollision.cpp.
|
private |
Definition at line 611 of file QuadricCollision.cpp.
|
private |
Definition at line 633 of file QuadricCollision.cpp.
Definition at line 311 of file QuadricCollision.cpp.
|
private |
Definition at line 393 of file QuadricCollision.cpp.
|
private |
Definition at line 673 of file QuadricCollision.cpp.
|
private |
Definition at line 662 of file QuadricCollision.cpp.
|
private |
Definition at line 868 of file QuadricCollision.cpp.
|
inline |
Definition at line 93 of file QuadricCollision.h.
|
private |
Definition at line 699 of file QuadricCollision.cpp.
|
private |
Definition at line 789 of file QuadricCollision.cpp.
Definition at line 56 of file QuadricCollision.cpp.
void QuadricCollision::ModifyAngle | ( | std::vector< lld > & | angle_state, |
const std::vector< lld > & | colli_map | ||
) |
Definition at line 182 of file QuadricCollision.cpp.
|
inlineprivate |
Definition at line 100 of file QuadricCollision.h.
Definition at line 861 of file QuadricCollision.cpp.
|
private |
Definition at line 546 of file QuadricCollision.cpp.
|
private |
Definition at line 878 of file QuadricCollision.cpp.
|
private |
Definition at line 890 of file QuadricCollision.cpp.
|
private |
Definition at line 514 of file QuadricCollision.cpp.
|
private |
Definition at line 902 of file QuadricCollision.cpp.
|
private |
Definition at line 143 of file QuadricCollision.h.
|
private |
Definition at line 148 of file QuadricCollision.h.
|
private |
Definition at line 144 of file QuadricCollision.h.
|
private |
Definition at line 142 of file QuadricCollision.h.
WireFrame* QuadricCollision::ptr_frame_ |
Definition at line 138 of file QuadricCollision.h.
WF_edge* QuadricCollision::target_e_ |
Definition at line 139 of file QuadricCollision.h.