On this page:
11.8.1  Inheritance diagram for Surface:
2022.4+26187-e1209cf7 Apr 14, 2022

11.8  Surface

Defines a surface object that mostly parallels Cubit’s RefFace class. More...

#include <CubitInterfaceEx.hpp>

11.8.1  Inheritance diagram for Surface:

Public Member Functions

void 

color (int value)

 

Set the color of the surface. More...

 

void 

set_color (int value)

 

Set the color of the surface. More...

 

int 

color ()

 

Get the color of the surface. More...

 

std::vector< std::vector< Curve > > 

ordered_loops ()

 

Get the ordered loops of the Surface. More...

 

std::array< double, 3 > 

normal_at (std::array< double, 3 > location)

 

Get the normal at a particular point on the Surface. More...

 

std::array< double, 3 > 

closest_point_trimmed (std::array< double, 3 > location)

 

Get the nearest point on the Surface to point specified. More...

 

std::array< double, 3 > 

closest_point_along_vector (std::array< double, 3 > location, std::array< double, 3 > along_vector)

 

Get the nearest point on the Surface to point specified along the specified vector. More...

 

std::array< double, 3 > 

closest_point_trimmed (CubitInterface::Loc location)

 

Get the nearest point on the Surface to point specified. More...

 

int 

point_containment (std::array< double, 3 > point_in)

 

Get whether a point is on or off of the Surface. More...

 

std::array< double, 2 > 

principal_curvatures (std::array< double, 3 > point)

 

Get the principal curvatures of the Surface. More...

 

std::array< double, 3 > 

position_from_u_v (double u, double v)

 

Get the Cartesian coordinates from the uv coordinates on the Surface. More...

 

std::array< double, 2 > 

u_v_from_position (std::array< double, 3 > location)

 

Get the uv coordinates from the supplied Cartesian coordinates on the Surface. More...

 

std::array< double, 2 > 

get_param_range_U ()

 

Get range of u for the Surface. More...

 

std::array< double, 2 > 

get_param_range_V ()

 

Get range of v for the Surface. More...

 

double 

area ()

 

Get area of the Surface. More...

 

bool 

is_planar ()

 

Get whether the Surface is planar or not. More...

 

bool 

is_cylindrical ()

 

Get whether the Surface is cylindrical or not. More...

 

double 

dihedral_angle (Surface other, double fraction)

 

Get the dihedral angle between this surface and another surface at a fraction along the shared curve between them. More...

 

 

Surface (const Surface &other)

 

 

Surface (CubitEntity *entity_ptr)

 

Detailed Description

Defines a surface object that mostly parallels Cubit’s RefFace class. Member Function Documentation
area()

 double area ( )

Get area of the Surface.

double area = surface->area();

Returns:
The area of the Surface
closest_point_along_vector()

 std::array<double,3> closest_point_along_vector ( std::array< double, 3 >  location, std::array< double, 3 >  along_vector  )

Get the nearest point on the Surface to point specified along the specified vector.

std::array<double,3> point(3, 0);

std::array<double,3> along_vector{1,1,1};

std::array<double,3> nearest = surface->closest_point_trimmed(point);

nearest = surface.closest_point_along_vector([0,0,0], [1,1,1])

Parameters:

[in]

location

A vector containing three values that are the coordinates of a point

Returns:
A vector (or list) of doubles representing values of nearest point as follows:
0 - x coordinate
1 - y coordinate
2 - z coordinate
closest_point_trimmed() [1/2]

 std::array<double,3> closest_point_trimmed ( CubitInterface::Loc  location)

Get the nearest point on the Surface to point specified.

std::array<double,3> point(3, 0);

std::array<double,3> nearest = surface->closest_point_trimmed(point);

nearest = surface.closest_point_trimmed([0,0,0])

Parameters:

[in]

location

A vector containing three values that are the coordinates of a point

Returns:
A vector (or list) of doubles representing values of nearest point as follows:
0 - x coordinate
1 - y coordinate
2 - z coordinate
closest_point_trimmed() [2/2]

 std::array<double,3> closest_point_trimmed ( std::array< double, 3 >  location)

Get the nearest point on the Surface to point specified.

std::array<double,3> point(3, 0);

std::array<double,3> nearest = surface->closest_point_trimmed(point);

nearest = surface.closest_point_trimmed([0,0,0])

Parameters:

[in]

location

A vector containing three values that are the coordinates of a point

Returns:
A vector (or list) of doubles representing values of nearest point as follows:
0 - x coordinate
1 - y coordinate
2 - z coordinate
color() [1/2]

 int color ( )

Get the color of the surface.

int col = surface->color();

col = surface.color()

Returns:
The color value associated with the surface’s current color
color() [2/2]

 void color ( int  value)

Set the color of the surface.

Parameters:

[in]

value

The color value that the surface will have


dihedral_angle()

 double dihedral_angle ( Surface  other, double  fraction  )

Get the dihedral angle between this surface and another surface at a fraction along the shared curve between them.

Parameters:

other

The other surface object used to form the dihedral angle

fraction

The fraction along the shared curve at which to calculate the dihedral angle (0.0 – 1.0)

Returns:
the dihedral angle between the surfaces, in radians
get_param_range_U()

 std::array<double,2> get_param_range_U ( )

Get range of u for the Surface.

std::vector<double> bounds = surface->get_param_range_U();

Returns:
The curvature values:
0 - The lowest value in the u direction
1 - The highest value in the u direction
get_param_range_V()

 std::array<double,2> get_param_range_V ( )

Get range of v for the Surface.

std::vector<double> bounds = surface->get_param_range_V();

lower_bound, upper_bound = surface.get_param_range_V()

Returns:
The curvature values:
0 - The lowest value in the v direction
1 - The highest value in the v direction
is_cylindrical()

 bool is_cylindrical ( )

Get whether the Surface is cylindrical or not.

bool cyl = surface->is_cylindrical();

Returns:
Whether the Surface is cylindrical or not
is_planar()

 bool is_planar ( )

Get whether the Surface is planar or not.

bool planar = surface->is_planar();

planar = surface.is_planar()

Returns:
Whether the Surface is planar or not
normal_at()

 std::array<double,3> normal_at ( std::array< double, 3 >  location)

Get the normal at a particular point on the Surface.

std::array<double,3> point(3, 0);

std::array<double,3> norm = surface->normal_at(point);

norm = surface.normal_at([0,0,0])

Parameters:

[in]

location

A vector containing three values that are the coordinates of a point

Returns:
A vector (or list) of doubles representing values of normal vector as follows:
0 - x value
1 - y value
2 - z value
ordered_loops()

 std::vector<std::vector<Curve> > ordered_loops ( )

Get the ordered loops of the Surface.

std::vector<std::vector<Curve> > loops = surface->ordered_loops();

Returns:
A vector of vectors (or list of lists) of Curves in loops:
0, 0 - loop 1 curve 1
0, 1 - loop 1 curve 2
1, 0 - loop 2 curve 1
etc...
point_containment()

 int point_containment ( std::array< double, 3 >  point_in)

Get whether a point is on or off of the Surface.

std::array<double,3> point(3, 0);

int on_off = surface->point_containment(point);

on_off = surface.point_containment([0,0,0])

Parameters:

[in]

point_in

A vector containing three values that are the coordinates of a point

Returns:
A python boolean representing whether the point is off (0) or on (1) the Surface
position_from_u_v()

 std::array<double,3> position_from_u_v ( double  u, double  v  )

Get the Cartesian coordinates from the uv coordinates on the Surface.

std::vector<double> pos = surface->position_from_u_v(0, 0);

Parameters:

[in]

u

The u parameter

[in]

v

The v parameter

Returns:
The Cartesian coordinates of the supplied uv coordinates as a vector:
0 - x coordinate
1 - y coordinate
2 - z coordinate
principal_curvatures()

 std::array<double,2> principal_curvatures ( std::array< double, 3 >  point)

Get the principal curvatures of the Surface.

std::vector<double> point(3, 0);

std::vector<double> curvatures = surface->principal_curvatures(point);

curvatures = surface.principal_curvatures([0,0,0])

Parameters:

[in]

point

A vector containing three values that are the coordinates of a point

Returns:
A list of two floats representing the curvatures
0 - curvature 1
1 - curvature 2
set_color()

 void set_color ( int  value)

Set the color of the surface.

Parameters:

[in]

value

The color value that the surface will have


u_v_from_position()

 std::array<double,2> u_v_from_position ( std::array< double, 3 >  location)

Get the uv coordinates from the supplied Cartesian coordinates on the Surface.

std::vector<double> location(3, 0);

std::vector<double> uv = surface->u_v_from_position(location);

Parameters:

[in]

location

A vector containing the Cartesian coordinates

Returns:
The curvature values:
0 - The u parameter
1 - The v parameter