20 #ifndef FASTUIDRAW_TESSELLATED_PATH_HPP 21 #define FASTUIDRAW_TESSELLATED_PATH_HPP 25 #include <fastuidraw/util/rect.hpp> 37 class PartitionedTessellatedPath;
302 return vec2(-m_enter_segment_unit_vector.
y(),
303 +m_enter_segment_unit_vector.
x());
312 return vec2(-m_leaving_segment_unit_vector.
y(),
313 +m_leaving_segment_unit_vector.
x());
327 split_segment(
float t,
348 compute_split_x(
float x_split,
350 segment *dst_after_split)
const;
369 compute_split_y(
float y_split,
371 segment *dst_after_split)
const;
403 compute_split(
float split,
406 int splitting_coordinate)
const;
546 return vec2(-m_enter_join_unit_vector.
y(), m_enter_join_unit_vector.
x());
555 return vec2(-m_leaving_join_unit_vector.
y(), m_leaving_join_unit_vector.
x());
648 add_line_segment(
vec2 start,
vec2 end);
663 add_arc_segment(
vec2 start,
vec2 end,
664 vec2 center,
float radius,
696 unsigned int additional_recursion);
702 tessellated_path(
void)
const;
838 edge_range(
unsigned int contour,
unsigned int edge)
const;
864 edge_type(
unsigned int contour,
unsigned int edge)
const;
925 filled(
float thresh)
const;
945 unsigned int additional_recursion_count);
An TessellatedPath represents the tessellation of a Path into line segments and arcs.
A StrokedPath represents the data needed to draw a path stroked. It contains -all- the data needed to...
vec2 leaving_join_normal(void) const
unsigned int m_contour_id
file fastuidraw_memory.hpp
vec2 enter_join_normal(void) const
segment_chain edge_segment_chain(unsigned int contour, unsigned int edge) const
c_array< const segment > edge_segment_data(unsigned int contour, unsigned int edge) const
const PartitionedTessellatedPath & partitioned(void) const
c_array< const segment_chain > contour_chains(unsigned int contour) const
all classes and functions of FastUIDraw are in the namespace fastuidraw.
Represents the geometric data for a join.
A TessellationParams stores how finely to tessellate the curves of a path.
range_type< float > m_arc_angle
float m_distance_from_contour_start
unsigned int number_contours(void) const
const TessellationParams & tessellation_parameters(void) const
A wrapper over a pointer to implement reference counting.
Represents the geometric data for a cap.
c_array< const segment > contour_segment_data(unsigned int contour) const
const TessellatedPath & linearization(void) const
unsigned int m_contour_id
vec2 m_enter_segment_unit_vector
const segment * m_prev_to_start
Represents segment of a tessellated or arc-tessellated path.
float m_distance_from_previous_join
range_type< unsigned int > contour_range(unsigned int contour) const
vec2 m_enter_join_unit_vector
float m_distance_from_edge_start
unsigned int m_edge_leaving_join_id
unsigned int number_edges(unsigned int contour) const
unsigned int m_max_recursion
const FilledPath & filled(void) const
bool has_arcs(void) const
float m_distance_from_contour_start
unsigned int m_contour_id
float m_distance_from_contour_start
c_array< const join > join_data(void) const
c_array< const segment_chain > segment_chain_data(void) const
vec2 m_leaving_join_unit_vector
const StrokedPath & stroked(void) const
A FilledPath represents the data needed to draw a path filled. It contains -all- the data needed to f...
TessellatedPath(const Path &input, TessellationParams P, reference_counted_ptr< Refiner > *ref=nullptr)
vec2 leaving_segment_normal(void) const
A c_array is a wrapper over a C pointer with a size parameter to facilitate bounds checking and provi...
bool contour_closed(unsigned int contour) const
Defines default reference counting base classes.
A PartitionedTessellatedPath represents partitioning a TessellatedPath for quick computation of what ...
vec2 m_leaving_segment_unit_vector
range_type< unsigned int > edge_range(unsigned int contour, unsigned int edge) const
A Path represents a collection of PathContour objects.
c_array< const cap > cap_data(void) const
bool m_continuation_with_predecessor
bool m_first_segment_of_edge
c_array< const segment > segment_data(void) const
TessellationParams & max_distance(float p)
bool m_last_segment_of_edge
Class for which copy ctor and assignment operator are private functions.
TessellationParams & max_recursion(unsigned int v)
enum PathEnums::edge_type_t edge_type(unsigned int contour, unsigned int edge) const
float m_distance_from_edge_start
unsigned int m_edge_into_join_id
vec2 enter_segment_normal(void) const
const Rect & bounding_box(void) const
A wrapper over a dynamic array of segment objects; segment values added to SegmentStorage must be add...
c_array< const segment > m_segments
file reference_counted.hpp
segment_type_t
Enumeration to identify the type of a segment.