QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_SurfaceProxy Class Reference

#include <opennurbs_surfaceproxy.h>

Inheritance diagram for ON_SurfaceProxy:
ON_Surface ON_Geometry ON_Object ON_BrepFace ON_OffsetSurface

Public Member Functions

ON_MeshCreateMesh (const ON_MeshParameters &mp, ON_Mesh *mesh=NULL) const
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
int Degree (int) const
 
void DestroyRuntimeCache (bool bDelete=true)
 
int Dimension () const
 
ON_Interval Domain (int) const
 
void Dump (ON_TextLog &) const
 
virtual ON_SurfaceDuplicateSurface () const
 
ON_BOOL32 Evaluate (double, double, int, int, double *, int=0, int *=0) const
 
ON_BOOL32 GetBBox (double *, double *, ON_BOOL32=false) const
 
bool GetClosestPoint (const ON_3dPoint &P, double *s, double *t, double maximum_distance=0.0, const ON_Interval *sdomain=0, const ON_Interval *tdomain=0) const
 
ON_BOOL32 GetLocalClosestPoint (const ON_3dPoint &, double, double, double *, double *, const ON_Interval *=NULL, const ON_Interval *=NULL) const
 
bool GetNextDiscontinuity (int dir, ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
 
int GetNurbForm (ON_NurbsSurface &, double=0.0) const
 
bool GetNurbFormParameterFromSurfaceParameter (double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
 
ON_BOOL32 GetParameterTolerance (int, double, double *, double *) const
 
ON_BOOL32 GetSpanVector (int, double *) const
 
bool GetSurfaceParameterFromNurbFormParameter (double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
 
ON_BOOL32 GetSurfaceSize (double *width, double *height) const
 
int HasNurbForm () const
 
ON_BOOL32 IsClosed (int) const
 
bool IsContinuous (ON::continuity c, double s, double t, int *hint=NULL, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
 
ISO IsIsoparametric (const ON_BoundingBox &bbox) const
 
ISO IsIsoparametric (const ON_Curve &curve, const ON_Interval *curve_domain=NULL) const
 
ON_CurveIsoCurve (int dir, double c) const
 
ON_BOOL32 IsPeriodic (int) const
 
ON_BOOL32 IsPlanar (ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
ON_BOOL32 IsSingular (int) const
 
ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const
 
ON_SurfaceOffset (double offset_distance, double tolerance, double *max_deviation=NULL) const
 
 ON_SurfaceProxy ()
 
 ON_SurfaceProxy (const ON_Surface *)
 
 ON_SurfaceProxy (const ON_SurfaceProxy &)
 
ON_SurfaceProxyoperator= (const ON_SurfaceProxy &)
 
const ON_SurfaceProxySurface () const
 
bool ProxySurfaceIsTransposed () const
 
ON_CurvePullback (const ON_Curve &curve_3d, double tolerance, const ON_Interval *curve_3d_subdomain=NULL, ON_3dPoint start_uv=ON_UNSET_POINT, ON_3dPoint end_uv=ON_UNSET_POINT) const
 
ON_CurvePushup (const ON_Curve &curve_2d, double tolerance, const ON_Interval *curve_2d_subdomain=NULL) const
 
ON_BOOL32 Read (ON_BinaryArchive &)
 
ON_BOOL32 Reverse (int)
 
void SetProxySurface (const ON_Surface *proxy_surface)
 
unsigned int SizeOf () const
 
int SpanCount (int) const
 
ON_BOOL32 Transform (const ON_Xform &)
 
ON_BOOL32 Transpose ()
 
ON_BOOL32 Write (ON_BinaryArchive &) const
 
virtual ~ON_SurfaceProxy ()
 
- Public Member Functions inherited from ON_Surface
bool AreaMassProperties (ON_MassProperties &mp, bool bArea=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const
 
ON_BrepBrepForm (ON_Brep *brep=NULL) const
 
virtual ON_SurfaceTree * CreateSurfaceTree () const
 
void DestroySurfaceTree ()
 
ON_BOOL32 Ev1Der (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, int quadrant=0, int *hint=0) const
 
ON_BOOL32 Ev2Der (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &duu, ON_3dVector &duv, ON_3dVector &dvv, int quadrant=0, int *hint=0) const
 
bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
 
ON_BOOL32 EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &normal, int=0, int *=0) const
 
ON_BOOL32 EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &normal, int quadrant=0, int *hint=0) const
 
ON_BOOL32 EvNormal (double u, double v, ON_3dVector &normal, int quadrant=0, int *hint=0) const
 
ON_BOOL32 EvPoint (double u, double v, ON_3dPoint &point, int quadrant=0, int *hint=0) const
 
virtual bool Extend (int dir, const ON_Interval &domain)
 
ON_BOOL32 FrameAt (double u, double v, ON_Plane &frame) const
 
ON_BOOL32 GetDomain (int dir, double *t0, double *t1) const
 
virtual ON_BOOL32 GetSpanVectorIndex (int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const
 
ON_BOOL32 HasBrepForm () const
 
int IntersectSurface (const ON_Surface *surfaceB, ON_ClassArray< ON_SSX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, double fitting_tolerance=0.0, const ON_Interval *surfaceA_udomain=0, const ON_Interval *surfaceA_vdomain=0, const ON_Interval *surfaceB_udomain=0, const ON_Interval *surfaceB_vdomain=0) const
 
int IsAtSeam (double s, double t) const
 
bool IsAtSingularity (double s, double t, bool bExact=true) const
 
bool IsCone (ON_Cone *cone=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsCylinder (ON_Cylinder *cylinder=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsSolid () const
 
bool IsSphere (ON_Sphere *sphere=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsTorus (ON_Torus *torus=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
ON_3dVector NormalAt (double, double) const
 
ON_NurbsSurfaceNurbsSurface (ON_NurbsSurface *pNurbsSurface=NULL, double tolerance=0.0, const ON_Interval *s_subdomain=NULL, const ON_Interval *t_subdomain=NULL) const
 
ON::object_type ObjectType () const
 
 ON_Surface ()
 
 ON_Surface (const ON_Surface &)
 
ON_Surfaceoperator= (const ON_Surface &)
 
ON_3dPoint PointAt (double, double) const
 
virtual ON_BOOL32 SetDomain (int dir, double t0, double t1)
 
bool SetDomain (int dir, ON_Interval domain)
 
virtual ON_BOOL32 Split (int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
 
const ON_SurfaceTree * SurfaceTree () const
 
virtual ON_BOOL32 Trim (int dir, const ON_Interval &domain)
 
bool VolumeMassProperties (ON_MassProperties &mp, bool bVolume=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, ON_3dPoint base_point=ON_UNSET_POINT, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const
 
virtual ~ON_Surface ()
 
- Public Member Functions inherited from ON_Geometry
ON_BoundingBox BoundingBox () const
 
virtual void ClearBoundingBox ()
 
virtual ON_COMPONENT_INDEX ComponentIndex () const
 
ON_BOOL32 GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, int bGrowBox=false) const
 
ON_BOOL32 GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const
 
virtual bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
 
virtual bool IsDeformable () const
 
virtual bool IsMorphable () const
 
virtual bool MakeDeformable ()
 
virtual bool Morph (const ON_SpaceMorph &morph)
 
 ON_Geometry ()
 
 ON_Geometry (const ON_Geometry &)
 
ON_Geometryoperator= (const ON_Geometry &)
 
ON_BOOL32 Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Scale (double scale_factor)
 
virtual ON_BOOL32 SwapCoordinates (int i, int j)
 
ON_BOOL32 Translate (const ON_3dVector &translation_vector)
 
virtual ~ON_Geometry ()
 
- Public Member Functions inherited from ON_Object
ON_BOOL32 AttachUserData (ON_UserData *pUserData)
 
bool CopyFrom (const ON_Object *src)
 
void CopyUserData (const ON_Object &source_object)
 
ON_BOOL32 DetachUserData (ON_UserData *pUserData)
 
ON_UserDataFirstUserData () const
 
ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
 
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
 
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
 
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
 
ON_BOOL32 IsKindOf (const ON_ClassId *pClassId) const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
 ON_Object ()
 
 ON_Object (const ON_Object &)
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
void TransformUserData (const ON_Xform &xform)
 
virtual ~ON_Object ()
 

Private Member Functions

 ON_OBJECT_DECLARE (ON_SurfaceProxy)
 

Private Attributes

bool m_bTransposed
 
const ON_Surfacem_surface
 

Additional Inherited Members

- Public Types inherited from ON_Surface
enum  ISO {
  not_iso = 0 , x_iso = 1 , y_iso = 2 , W_iso = 3 ,
  S_iso = 4 , E_iso = 5 , N_iso = 6 , iso_count = 7
}
 
- Static Public Member Functions inherited from ON_Surface
static class ON_NurbsSurfaceCreateCubicLoft (int curve_count, const ON_Curve *const *curve_list, double k, int is_closed=0, ON::cubic_loft_end_condition start_shape=ON::cubic_loft_ec_quadratic, ON::cubic_loft_end_condition end_shape=ON::cubic_loft_ec_quadratic, class ON_NurbsSurface *nurbs_surface=0)
 
- Public Attributes inherited from ON_Object
ON_MEMORY_POOLm_mempool
 
- Protected Member Functions inherited from ON_Surface
ON_CurvePullbackCurveProxy (const ON_CurveProxy &curveproxy_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv) const
 
ON_CurvePullbackPolyCurve (const ON_PolyCurve &polycurve_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv) const
 
ON_CurvePushupCurveProxy (const ON_CurveProxy &curveproxy_2d, double tolerance, const ON_Interval *curve_2d_subdomain) const
 
ON_CurvePushupPolyCurve (const ON_PolyCurve &polycurve_2d, double tolerance, const ON_Interval *curve_2d_subdomain) const
 
- Protected Attributes inherited from ON_Surface
ON_SurfaceTree * m_stree
 

Constructor & Destructor Documentation

◆ ON_SurfaceProxy() [1/3]

ON_SurfaceProxy::ON_SurfaceProxy ( )

◆ ON_SurfaceProxy() [2/3]

ON_SurfaceProxy::ON_SurfaceProxy ( const ON_Surface * s)

◆ ON_SurfaceProxy() [3/3]

ON_SurfaceProxy::ON_SurfaceProxy ( const ON_SurfaceProxy & src)

◆ ~ON_SurfaceProxy()

ON_SurfaceProxy::~ON_SurfaceProxy ( )
virtual

Member Function Documentation

◆ CreateMesh()

ON_Mesh * ON_SurfaceProxy::CreateMesh ( const ON_MeshParameters & mp,
ON_Mesh * mesh = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ DataCRC()

ON__UINT32 ON_SurfaceProxy::DataCRC ( ON__UINT32 current_remainder) const
virtual

Reimplemented from ON_Object.

◆ Degree()

int ON_SurfaceProxy::Degree ( int dir) const
virtual

Implements ON_Surface.

◆ DestroyRuntimeCache()

void ON_SurfaceProxy::DestroyRuntimeCache ( bool bDelete = true)
virtual

Reimplemented from ON_Surface.

◆ Dimension()

int ON_SurfaceProxy::Dimension ( ) const
virtual

Implements ON_Geometry.

◆ Domain()

ON_Interval ON_SurfaceProxy::Domain ( int dir) const
virtual

Implements ON_Surface.

◆ Dump()

void ON_SurfaceProxy::Dump ( ON_TextLog & dump) const
virtual

Reimplemented from ON_Object.

◆ DuplicateSurface()

ON_Surface * ON_SurfaceProxy::DuplicateSurface ( ) const
virtual

Reimplemented from ON_Surface.

◆ Evaluate()

ON_BOOL32 ON_SurfaceProxy::Evaluate ( double s,
double t,
int der_count,
int v_stride,
double * v,
int side = 0,
int * hint = 0 ) const
virtual

Implements ON_Surface.

◆ GetBBox()

ON_BOOL32 ON_SurfaceProxy::GetBBox ( double * boxmin,
double * boxmax,
ON_BOOL32 bGrowBox = false ) const
virtual

Implements ON_Geometry.

◆ GetClosestPoint()

bool ON_SurfaceProxy::GetClosestPoint ( const ON_3dPoint & P,
double * s,
double * t,
double maximum_distance = 0.0,
const ON_Interval * sdomain = 0,
const ON_Interval * tdomain = 0 ) const
virtual

Reimplemented from ON_Surface.

◆ GetLocalClosestPoint()

ON_BOOL32 ON_SurfaceProxy::GetLocalClosestPoint ( const ON_3dPoint & test_point,
double s0,
double t0,
double * s,
double * t,
const ON_Interval * sdomain = NULL,
const ON_Interval * tdomain = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ GetNextDiscontinuity()

bool ON_SurfaceProxy::GetNextDiscontinuity ( int dir,
ON::continuity c,
double t0,
double t1,
double * t,
int * hint = NULL,
int * dtype = NULL,
double cos_angle_tolerance = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON ) const
virtual

Reimplemented from ON_Surface.

◆ GetNurbForm()

int ON_SurfaceProxy::GetNurbForm ( ON_NurbsSurface & nurbs,
double tolerance = 0.0 ) const
virtual

Reimplemented from ON_Surface.

◆ GetNurbFormParameterFromSurfaceParameter()

bool ON_SurfaceProxy::GetNurbFormParameterFromSurfaceParameter ( double surface_s,
double surface_t,
double * nurbs_s,
double * nurbs_t ) const
virtual

Reimplemented from ON_Surface.

◆ GetParameterTolerance()

ON_BOOL32 ON_SurfaceProxy::GetParameterTolerance ( int dir,
double t,
double * tminus,
double * tplus ) const
virtual

Reimplemented from ON_Surface.

◆ GetSpanVector()

ON_BOOL32 ON_SurfaceProxy::GetSpanVector ( int dir,
double * s ) const
virtual

Implements ON_Surface.

◆ GetSurfaceParameterFromNurbFormParameter()

bool ON_SurfaceProxy::GetSurfaceParameterFromNurbFormParameter ( double nurbs_s,
double nurbs_t,
double * surface_s,
double * surface_t ) const
virtual

Reimplemented from ON_Surface.

◆ GetSurfaceSize()

ON_BOOL32 ON_SurfaceProxy::GetSurfaceSize ( double * width,
double * height ) const
virtual

Reimplemented from ON_Surface.

◆ HasNurbForm()

int ON_SurfaceProxy::HasNurbForm ( ) const
virtual

Reimplemented from ON_Surface.

◆ IsClosed()

ON_BOOL32 ON_SurfaceProxy::IsClosed ( int dir) const
virtual

Reimplemented from ON_Surface.

◆ IsContinuous()

bool ON_SurfaceProxy::IsContinuous ( ON::continuity c,
double s,
double t,
int * hint = NULL,
double point_tolerance = ON_ZERO_TOLERANCE,
double d1_tolerance = ON_ZERO_TOLERANCE,
double d2_tolerance = ON_ZERO_TOLERANCE,
double cos_angle_tolerance = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON ) const
virtual

Reimplemented from ON_Surface.

◆ IsIsoparametric() [1/2]

ON_Surface::ISO ON_SurfaceProxy::IsIsoparametric ( const ON_BoundingBox & bbox) const
virtual

Reimplemented from ON_Surface.

◆ IsIsoparametric() [2/2]

ON_Surface::ISO ON_SurfaceProxy::IsIsoparametric ( const ON_Curve & curve,
const ON_Interval * curve_domain = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ IsoCurve()

ON_Curve * ON_SurfaceProxy::IsoCurve ( int dir,
double c ) const
virtual

Reimplemented from ON_Surface.

◆ IsPeriodic()

ON_BOOL32 ON_SurfaceProxy::IsPeriodic ( int dir) const
virtual

Reimplemented from ON_Surface.

◆ IsPlanar()

ON_BOOL32 ON_SurfaceProxy::IsPlanar ( ON_Plane * plane = NULL,
double tolerance = ON_ZERO_TOLERANCE ) const
virtual

Reimplemented from ON_Surface.

◆ IsSingular()

ON_BOOL32 ON_SurfaceProxy::IsSingular ( int side) const
virtual

Reimplemented from ON_Surface.

◆ IsValid()

ON_BOOL32 ON_SurfaceProxy::IsValid ( ON_TextLog * text_log = NULL) const
virtual

Implements ON_Object.

◆ Offset()

ON_Surface * ON_SurfaceProxy::Offset ( double offset_distance,
double tolerance,
double * max_deviation = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ ON_OBJECT_DECLARE()

ON_SurfaceProxy::ON_OBJECT_DECLARE ( ON_SurfaceProxy )
private

◆ operator=()

ON_SurfaceProxy & ON_SurfaceProxy::operator= ( const ON_SurfaceProxy & src)

◆ ProxySurface()

const ON_Surface * ON_SurfaceProxy::ProxySurface ( ) const

◆ ProxySurfaceIsTransposed()

bool ON_SurfaceProxy::ProxySurfaceIsTransposed ( ) const

◆ Pullback()

ON_Curve * ON_SurfaceProxy::Pullback ( const ON_Curve & curve_3d,
double tolerance,
const ON_Interval * curve_3d_subdomain = NULL,
ON_3dPoint start_uv = ON_UNSET_POINT,
ON_3dPoint end_uv = ON_UNSET_POINT ) const
virtual

Reimplemented from ON_Surface.

◆ Pushup()

ON_Curve * ON_SurfaceProxy::Pushup ( const ON_Curve & curve_2d,
double tolerance,
const ON_Interval * curve_2d_subdomain = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ Read()

ON_BOOL32 ON_SurfaceProxy::Read ( ON_BinaryArchive & )
virtual

Reimplemented from ON_Object.

◆ Reverse()

ON_BOOL32 ON_SurfaceProxy::Reverse ( int )
virtual

Implements ON_Surface.

◆ SetProxySurface()

void ON_SurfaceProxy::SetProxySurface ( const ON_Surface * proxy_surface)

◆ SizeOf()

unsigned int ON_SurfaceProxy::SizeOf ( ) const
virtual

Reimplemented from ON_Surface.

◆ SpanCount()

int ON_SurfaceProxy::SpanCount ( int dir) const
virtual

Implements ON_Surface.

◆ Transform()

ON_BOOL32 ON_SurfaceProxy::Transform ( const ON_Xform & )
virtual

Reimplemented from ON_Geometry.

◆ Transpose()

ON_BOOL32 ON_SurfaceProxy::Transpose ( )
virtual

Implements ON_Surface.

◆ Write()

ON_BOOL32 ON_SurfaceProxy::Write ( ON_BinaryArchive & ) const
virtual

Reimplemented from ON_Object.

Member Data Documentation

◆ m_bTransposed

bool ON_SurfaceProxy::m_bTransposed
private

◆ m_surface

const ON_Surface* ON_SurfaceProxy::m_surface
private

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