29#ifndef BREP_CURVETREE_H
30#define BREP_CURVETREE_H
71 void getLeaves(std::list<const BRNode *> &out_leaves)
const;
72 void getLeavesAbove(std::list<const BRNode *> &out_leaves,
const ON_Interval &u,
const ON_Interval &v)
const;
82 const BRNode *getRootNode()
const;
89 ON_2dPoint getClosestPointEstimate(
const ON_3dPoint &pt)
const;
90 ON_2dPoint getClosestPointEstimate(
const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v)
const;
92 void getLeavesRight(std::list<const BRNode *> &out_leaves,
const ON_Interval &u,
const ON_Interval &v)
const;
96 bool getHVTangents(
const ON_Curve *curve,
const ON_Interval &t, std::list<fastf_t> &list)
const;
97 bool isLinear(
const ON_Curve *curve,
double min,
double max)
const;
98 BRNode *subdivideCurve(
const ON_Curve *curve,
int trim_index,
int adj_face_index,
double min,
double max,
bool innerTrim,
int depth)
const;
99 BRNode *curveBBox(
const ON_Curve *curve,
int trim_index,
int adj_face_index,
const ON_Interval &t,
bool isLeaf,
bool innerTrim,
const ON_BoundingBox &bb)
const;
100 static ON_BoundingBox initialLoopBBox(
const ON_BrepFace &
face);
102 const ON_BrepFace *
const m_face;
107 Stl() : m_sortedX() {}
109 std::vector<const BRNode *> m_sortedX;
112 mutable std::map<const BRNode *, std::size_t> *m_sortedX_indices;
std::vector< std::size_t > serialize_get_leaves_keys(const std::list< const BRNode * > &leaves) const
void getLeaves(std::list< const BRNode * > &out_leaves) const
void getLeavesRight(std::list< const BRNode * > &out_leaves, const ON_2dPoint &pt, fastf_t tol) const
void serialize(Serializer &serializer) const
void getLeavesAbove(std::list< const BRNode * > &out_leaves, const ON_2dPoint &pt, fastf_t tol) const
std::list< const BRNode * > serialize_get_leaves(const std::size_t *keys, std::size_t num_keys) const
CurveTree(const ON_BrepFace *face)
void serialize_cleanup() const
CurveTree(Deserializer &deserializer, const ON_BrepFace &face)
void getLeavesAbove(std::list< const BRNode * > &out_leaves, const ON_Interval &u, const ON_Interval &v) const
Header file for the BRL-CAD common definitions.
void int char int int double * min
double fastf_t
fastest 64-bit (or larger) floating point type