Blender V4.5
blender::io::obj::OBJCurve Class Reference

#include <obj_export_nurbs.hh>

Inherits blender::NonCopyable.

Public Member Functions

 OBJCurve (const Depsgraph *depsgraph, const OBJExportParams &export_params, Object *curve_object)
const char * get_curve_name () const
int total_splines () const
const Nurbget_spline (int spline_index) const
int total_spline_vertices (int spline_index) const
float3float3 vertex_coordinates (int spline_index, int vertex_index, float global_scale) const
int num_control_points_u (int spline_index) const
int num_control_points_v (int spline_index) const
int get_nurbs_degree_u (int spline_index) const
int get_nurbs_degree_v (int spline_index) const
short get_nurbs_flagu (int spline_index) const
Span< float > get_knots_u (int spline_index, Vector< float > &buffer) const

Detailed Description

Provides access to the a Curve Object's properties. Only CU_NURBS type is supported.

Note
Used for Curves to be exported in parameter form, and not converted to meshes.

Definition at line 28 of file obj_export_nurbs.hh.

Constructor & Destructor Documentation

◆ OBJCurve()

blender::io::obj::OBJCurve::OBJCurve ( const Depsgraph * depsgraph,
const OBJExportParams & export_params,
Object * curve_object )

Member Function Documentation

◆ get_curve_name()

const char * blender::io::obj::OBJCurve::get_curve_name ( ) const

Definition at line 48 of file obj_export_nurbs.cc.

References Object::id, and ID::name.

Referenced by blender::io::obj::OBJWriter::write_nurbs_curve().

◆ get_knots_u()

Span< float > blender::io::obj::OBJCurve::get_knots_u ( int spline_index,
Vector< float > & buffer ) const

◆ get_nurbs_degree_u()

int blender::io::obj::OBJCurve::get_nurbs_degree_u ( int spline_index) const

Get the degree of the NURBS spline for the U-dimension.

Definition at line 94 of file obj_export_nurbs.cc.

References BLI_findlink(), CU_POLY, Nurb::orderu, and Nurb::type.

Referenced by get_knots_u(), num_control_points_u(), and blender::io::obj::OBJWriter::write_nurbs_curve().

◆ get_nurbs_degree_v()

int blender::io::obj::OBJCurve::get_nurbs_degree_v ( int spline_index) const

Get the degree of the NURBS spline for the V-dimension.

Definition at line 100 of file obj_export_nurbs.cc.

References BLI_findlink(), CU_POLY, Nurb::orderv, and Nurb::type.

Referenced by num_control_points_v().

◆ get_nurbs_flagu()

short blender::io::obj::OBJCurve::get_nurbs_flagu ( int spline_index) const

Get the U flags (CU_NURB_*) of the NURBS spline at the given index.

Definition at line 106 of file obj_export_nurbs.cc.

References BLI_findlink(), and Nurb::flagu.

◆ get_spline()

const Nurb * blender::io::obj::OBJCurve::get_spline ( int spline_index) const

Definition at line 58 of file obj_export_nurbs.cc.

References BLI_findlink().

Referenced by blender::io::obj::OBJWriter::write_nurbs_curve().

◆ num_control_points_u()

int blender::io::obj::OBJCurve::num_control_points_u ( int spline_index) const

Get the number of control points on the U-dimension.

Definition at line 82 of file obj_export_nurbs.cc.

References BLI_findlink(), CU_NURB_CYCLIC, Nurb::flagu, get_nurbs_degree_u(), and Nurb::pntsu.

Referenced by blender::io::obj::OBJWriter::write_nurbs_curve().

◆ num_control_points_v()

int blender::io::obj::OBJCurve::num_control_points_v ( int spline_index) const

Get the number of control points on the V-dimension.

Definition at line 88 of file obj_export_nurbs.cc.

References BLI_findlink(), CU_NURB_CYCLIC, Nurb::flagv, get_nurbs_degree_v(), and Nurb::pntsv.

◆ total_spline_vertices()

int blender::io::obj::OBJCurve::total_spline_vertices ( int spline_index) const
Parameters
spline_indexZero-based index of spline of interest.
Returns
Total vertices in a spline.

Definition at line 63 of file obj_export_nurbs.cc.

References BLI_findlink(), Nurb::pntsu, and Nurb::pntsv.

Referenced by blender::io::obj::OBJWriter::write_nurbs_curve().

◆ total_splines()

int blender::io::obj::OBJCurve::total_splines ( ) const

Definition at line 53 of file obj_export_nurbs.cc.

References BLI_listbase_count().

Referenced by blender::io::obj::OBJWriter::write_nurbs_curve().

◆ vertex_coordinates()

float3float3 blender::io::obj::OBJCurve::vertex_coordinates ( int spline_index,
int vertex_index,
float global_scale ) const

Get coordinates of the vertex at the given index on the given spline.

Definition at line 69 of file obj_export_nurbs.cc.

References BLI_findlink(), Nurb::bp, copy_v3_v3(), mul_m4_v3(), mul_v3_fl(), and BPoint::vec.

Referenced by blender::io::obj::OBJWriter::write_nurbs_curve().


The documentation for this class was generated from the following files: