cgma
|
#include <Surface.hpp>
Public Types | |
typedef Curve | ChildType |
Public Member Functions | |
Surface () | |
virtual | ~Surface () |
virtual CubitSense | get_shell_sense (ShellSM *shell_ptr) const =0 |
virtual void | closest_point_trimmed (CubitVector from_point, CubitVector &point_on_surface)=0 |
virtual void | closest_points_trimmed (std::vector< CubitVector > &from_points_list, std::vector< CubitVector > &points_on_surface_list) |
virtual CubitStatus | closest_point_along_vector (CubitVector &from_point, CubitVector &along_vector, CubitVector &point_on_surface)=0 |
virtual CubitStatus | get_point_normal (CubitVector &point, CubitVector &normal)=0 |
virtual void | param_dir (CubitVector &, CubitVector &, double &, double &) |
virtual CubitStatus | closest_point_uv_guess (CubitVector const &location, double &u_guess, double &v_guess, CubitVector *closest_location=NULL, CubitVector *unit_normal=NULL)=0 |
virtual CubitStatus | closest_point (CubitVector const &location, CubitVector *closest_location=NULL, CubitVector *unit_normal=NULL, CubitVector *curvature1=NULL, CubitVector *curvature2=NULL)=0 |
virtual CubitStatus | closest_points (DLIList< CubitVector * > &location_list, DLIList< CubitVector * > *closest_location_list=NULL, DLIList< CubitVector * > *unit_normal_list=NULL, DLIList< CubitVector * > *curvature1_list=NULL, DLIList< CubitVector * > *curvature2_list=NULL) |
virtual CubitStatus | principal_curvatures (CubitVector const &location, double &curvature_1, double &curvature_2, CubitVector *closest_location=NULL)=0 |
virtual CubitStatus | evaluate (double u, double v, CubitVector *position, CubitVector *normal, CubitVector *curvature1, CubitVector *curvature2)=0 |
virtual CubitStatus | evaluate (double u, double v, CubitVector &pos, CubitVector deriv1[2], CubitVector deriv2[3]) |
virtual CubitVector | position_from_u_v (double u, double v)=0 |
virtual CubitStatus | u_v_from_position (CubitVector const &location, double &u, double &v, CubitVector *closest_location=NULL)=0 |
virtual CubitBoolean | is_periodic ()=0 |
virtual CubitBoolean | is_periodic_in_U (double &period)=0 |
virtual CubitBoolean | is_periodic_in_V (double &period)=0 |
virtual CubitBoolean | is_singular_in_U (double u_param)=0 |
virtual CubitBoolean | is_singular_in_V (double v_param)=0 |
virtual CubitBoolean | is_closed_in_U () |
virtual CubitBoolean | is_closed_in_V () |
virtual CubitStatus | uv_derivitives (double u_param, double v_param, CubitVector &du, CubitVector &dv)=0 |
virtual CubitBoolean | is_parametric ()=0 |
virtual CubitBoolean | get_param_range_U (double &lower_bound, double &upper_bound)=0 |
virtual CubitBoolean | get_param_range_V (double &lower_bound, double &upper_bound)=0 |
virtual CubitBoolean | is_position_on (CubitVector &test_position)=0 |
virtual void | are_positions_on (DLIList< CubitVector * > &test_position_list, DLIList< CubitBoolean * > &is_on_list) |
virtual CubitPointContainment | point_containment (const CubitVector &point)=0 |
virtual CubitPointContainment | point_containment (double u, double v)=0 |
virtual CubitSense | get_geometry_sense ()=0 |
virtual CubitSense | get_uv_sense () |
virtual CubitStatus | get_projected_distance_on_surface (CubitVector *pos1, CubitVector *pos2, double &distance)=0 |
virtual GeometryType | geometry_type () |
virtual GeometryType | is_cylindrical () |
virtual CubitStatus | get_nurb_params (bool &rational, int °ree_u, int °ree_v, int &num_cntrl_pts_u, int &num_cntrl_pts_v, DLIList< CubitVector > &cntrl_pts, DLIList< double > &weights, DLIList< double > &u_knots, DLIList< double > &v_knots) const =0 |
virtual CubitStatus | get_sphere_params (CubitVector ¢er, double &radius) const =0 |
virtual CubitStatus | get_cone_params (CubitVector ¢er, CubitVector &normal, CubitVector &major_axis, double &radius_ratio, double &sine_angle, double &cos_angle) const =0 |
virtual CubitStatus | get_torus_params (CubitVector ¢er, CubitVector &normal, double &major_radius, double &minor_radius) const =0 |
Definition at line 37 of file Surface.hpp.
typedef Curve Surface::ChildType |
Definition at line 47 of file Surface.hpp.
Surface::Surface | ( | ) |
Definition at line 37 of file Surface.cpp.
{ }
Surface::~Surface | ( | ) | [virtual] |
Definition at line 51 of file Surface.cpp.
{}
void Surface::are_positions_on | ( | DLIList< CubitVector * > & | test_position_list, |
DLIList< CubitBoolean * > & | is_on_list | ||
) | [virtual] |
Definition at line 109 of file Surface.cpp.
{ CubitVector *test_position; CubitBoolean *is_on; test_position_list.reset(); is_on_list.reset(); for (int i=0; i<test_position_list.size(); i++) { test_position = test_position_list.get_and_step(); is_on = is_on_list.get_and_step(); *is_on = is_position_on( *test_position ); } }
virtual CubitStatus Surface::closest_point | ( | CubitVector const & | location, |
CubitVector * | closest_location = NULL , |
||
CubitVector * | unit_normal = NULL , |
||
CubitVector * | curvature1 = NULL , |
||
CubitVector * | curvature2 = NULL |
||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
CubitStatus Surface::closest_point_along_vector | ( | CubitVector & | from_point, |
CubitVector & | along_vector, | ||
CubitVector & | point_on_surface | ||
) | [pure virtual] |
Implemented in FacetSurface, CompositeSurface, PartitionSurface, OCCSurface, and SubSurface.
Definition at line 125 of file Surface.cpp.
{ return CUBIT_FAILURE; }
virtual void Surface::closest_point_trimmed | ( | CubitVector | from_point, |
CubitVector & | point_on_surface | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitStatus Surface::closest_point_uv_guess | ( | CubitVector const & | location, |
double & | u_guess, | ||
double & | v_guess, | ||
CubitVector * | closest_location = NULL , |
||
CubitVector * | unit_normal = NULL |
||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
CubitStatus Surface::closest_points | ( | DLIList< CubitVector * > & | location_list, |
DLIList< CubitVector * > * | closest_location_list = NULL , |
||
DLIList< CubitVector * > * | unit_normal_list = NULL , |
||
DLIList< CubitVector * > * | curvature1_list = NULL , |
||
DLIList< CubitVector * > * | curvature2_list = NULL |
||
) | [virtual] |
Definition at line 54 of file Surface.cpp.
{ CubitVector *curvature1, *curvature2; CubitVector *unit_normal; CubitVector *closest_location; CubitVector *location; CubitStatus stat; location_list.reset(); if (closest_location_list) closest_location_list->reset(); if (unit_normal_list) unit_normal_list->reset(); if (curvature1_list) curvature1_list->reset(); if (curvature2_list) curvature2_list->reset(); for (int i=0; i<location_list.size(); i++) { location = location_list.get_and_step(); if (closest_location_list == NULL) closest_location = NULL; else closest_location = closest_location_list->get_and_step(); if (unit_normal_list == NULL) unit_normal = NULL; else unit_normal = unit_normal_list->get_and_step(); if (curvature1_list == NULL) curvature1 = NULL; else curvature1 = curvature1_list->get_and_step(); if (curvature2_list == NULL) curvature2 = NULL; else curvature2 = curvature2_list->get_and_step(); stat = closest_point( *location, closest_location, unit_normal, curvature1, curvature2 ); if (stat != CUBIT_SUCCESS) return stat; } return CUBIT_SUCCESS; }
void Surface::closest_points_trimmed | ( | std::vector< CubitVector > & | from_points_list, |
std::vector< CubitVector > & | points_on_surface_list | ||
) | [virtual] |
Definition at line 96 of file Surface.cpp.
{ CubitVector from_point; CubitVector point_on_surface; for (unsigned int i=0; i<from_points_list.size(); i++) { from_point = from_points_list[i]; closest_point_trimmed( from_point, point_on_surface ); points_on_surface_list.push_back( point_on_surface ); } }
virtual CubitStatus Surface::evaluate | ( | double | u, |
double | v, | ||
CubitVector * | position, | ||
CubitVector * | normal, | ||
CubitVector * | curvature1, | ||
CubitVector * | curvature2 | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
CubitStatus Surface::evaluate | ( | double | u, |
double | v, | ||
CubitVector & | pos, | ||
CubitVector | deriv1[2], | ||
CubitVector | deriv2[3] | ||
) | [virtual] |
Definition at line 132 of file Surface.cpp.
{ PRINT_ERROR("evaluate is not implemented."); return CUBIT_FAILURE; }
virtual GeometryType Surface::geometry_type | ( | ) | [inline, virtual] |
Implements GeometryEntity.
Reimplemented in OCCSurface, FacetSurface, CompositeSurface, PartitionSurface, and SubSurface.
Definition at line 368 of file Surface.hpp.
{return UNDEFINED_SURFACE_TYPE;};
virtual CubitStatus Surface::get_cone_params | ( | CubitVector & | center, |
CubitVector & | normal, | ||
CubitVector & | major_axis, | ||
double & | radius_ratio, | ||
double & | sine_angle, | ||
double & | cos_angle | ||
) | const [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitSense Surface::get_geometry_sense | ( | ) | [pure virtual] |
Implemented in OCCSurface, FacetSurface, PartitionSurface, CompositeSurface, and SubSurface.
virtual CubitStatus Surface::get_nurb_params | ( | bool & | rational, |
int & | degree_u, | ||
int & | degree_v, | ||
int & | num_cntrl_pts_u, | ||
int & | num_cntrl_pts_v, | ||
DLIList< CubitVector > & | cntrl_pts, | ||
DLIList< double > & | weights, | ||
DLIList< double > & | u_knots, | ||
DLIList< double > & | v_knots | ||
) | const [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitBoolean Surface::get_param_range_U | ( | double & | lower_bound, |
double & | upper_bound | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, CompositeSurface, and SubSurface.
virtual CubitBoolean Surface::get_param_range_V | ( | double & | lower_bound, |
double & | upper_bound | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, CompositeSurface, and SubSurface.
virtual CubitStatus Surface::get_point_normal | ( | CubitVector & | point, |
CubitVector & | normal | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitStatus Surface::get_projected_distance_on_surface | ( | CubitVector * | pos1, |
CubitVector * | pos2, | ||
double & | distance | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, and PartitionSurface.
virtual CubitSense Surface::get_shell_sense | ( | ShellSM * | shell_ptr | ) | const [pure virtual] |
Implemented in FacetSurface, PartitionSurface, OCCSurface, and CompositeSurface.
virtual CubitStatus Surface::get_sphere_params | ( | CubitVector & | center, |
double & | radius | ||
) | const [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitStatus Surface::get_torus_params | ( | CubitVector & | center, |
CubitVector & | normal, | ||
double & | major_radius, | ||
double & | minor_radius | ||
) | const [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitSense Surface::get_uv_sense | ( | ) | [inline, virtual] |
Definition at line 358 of file Surface.hpp.
{ return CUBIT_UNKNOWN; }
virtual CubitBoolean Surface::is_closed_in_U | ( | ) | [inline, virtual] |
Reimplemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
Definition at line 268 of file Surface.hpp.
{return CUBIT_FALSE;}
virtual CubitBoolean Surface::is_closed_in_V | ( | ) | [inline, virtual] |
Reimplemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
Definition at line 269 of file Surface.hpp.
{return CUBIT_FALSE;}
virtual GeometryType Surface::is_cylindrical | ( | ) | [inline, virtual] |
Definition at line 373 of file Surface.hpp.
{return UNDEFINED_SURFACE_TYPE;};
virtual CubitBoolean Surface::is_parametric | ( | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, CompositeSurface, and SubSurface.
virtual CubitBoolean Surface::is_periodic | ( | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitBoolean Surface::is_periodic_in_U | ( | double & | period | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitBoolean Surface::is_periodic_in_V | ( | double & | period | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitBoolean Surface::is_position_on | ( | CubitVector & | test_position | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, CompositeSurface, and SubSurface.
virtual CubitBoolean Surface::is_singular_in_U | ( | double | u_param | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitBoolean Surface::is_singular_in_V | ( | double | v_param | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual void Surface::param_dir | ( | CubitVector & | , |
CubitVector & | , | ||
double & | , | ||
double & | |||
) | [inline, virtual] |
Definition at line 74 of file Surface.hpp.
{}
virtual CubitPointContainment Surface::point_containment | ( | const CubitVector & | point | ) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, and CompositeSurface.
virtual CubitPointContainment Surface::point_containment | ( | double | u, |
double | v | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, and CompositeSurface.
virtual CubitVector Surface::position_from_u_v | ( | double | u, |
double | v | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitStatus Surface::principal_curvatures | ( | CubitVector const & | location, |
double & | curvature_1, | ||
double & | curvature_2, | ||
CubitVector * | closest_location = NULL |
||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitStatus Surface::u_v_from_position | ( | CubitVector const & | location, |
double & | u, | ||
double & | v, | ||
CubitVector * | closest_location = NULL |
||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, CompositeSurface, PartitionSurface, and SubSurface.
virtual CubitStatus Surface::uv_derivitives | ( | double | u_param, |
double | v_param, | ||
CubitVector & | du, | ||
CubitVector & | dv | ||
) | [pure virtual] |
Implemented in FacetSurface, OCCSurface, PartitionSurface, CompositeSurface, and SubSurface.