Rhino C++ API  9.0
Public Member Functions | Public Attributes | List of all members
ON_ClippingPlaneSurface Class Reference

#include <opennurbs_planesurface.h>

Inheritance diagram for ON_ClippingPlaneSurface:
ON_PlaneSurface ON_Surface ON_Geometry ON_Object

Public Member Functions

 ON_ClippingPlaneSurface ()
 
 ON_ClippingPlaneSurface (const ON_Plane &src)
 
 ON_ClippingPlaneSurface (const ON_PlaneSurface &src)
 
 ~ON_ClippingPlaneSurface ()
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const override
 virtual ON_Object::DataCRC override More...
 
void Default ()
 
ON_UUID DimensionStyleId () const
 
void Dump (ON_TextLog &) const override
 virtual ON_Object::Dump override More...
 
ON::object_type ObjectType () const override
 override ON_Object::ObjectType() - returns ON::clipplane_object More...
 
ON_ClippingPlaneSurfaceoperator= (const ON_Plane &src)
 
ON_ClippingPlaneSurfaceoperator= (const ON_PlaneSurface &src)
 
bool Read (ON_BinaryArchive &) override
 virtual ON_Object::Read override More...
 
void SetDimensionStyleId (ON_UUID styleId)
 
unsigned int SizeOf () const override
 virtual ON_Object::SizeOf override More...
 
bool Transform (const ON_Xform &) override
 
bool Write (ON_BinaryArchive &) const override
 virtual ON_Object::Write override More...
 
- Public Member Functions inherited from ON_PlaneSurface
 ON_PlaneSurface ()
 
 ON_PlaneSurface (const ON_Plane &)
 
 ON_PlaneSurface (const ON_PlaneSurface &)
 
virtual ~ON_PlaneSurface ()
 
ON_MeshCreateMesh (const ON_MeshParameters &mp, ON_Mesh *mesh=nullptr) const override
 ON_Surface overrides. More...
 
ON_MeshCreateMesh (ON_Mesh *mesh=nullptr) const
 
bool CreatePlaneThroughBox (const ON_Plane &plane, const ON_BoundingBox &bbox, double padding=0.0625)
 
bool CreatePlaneThroughBox (const ON_PlaneEquation &plane, const ON_BoundingBox &bbox, double padding=0.0625)
 
bool CreatePseudoInfinitePlane (const ON_Plane &plane, const ON_BoundingBox &bbox, double padding=0.0625)
 
bool CreatePseudoInfinitePlane (const ON_Plane &plane, int point_count, const ON_3dPoint *point_list, double padding=0.0625)
 
bool CreatePseudoInfinitePlane (ON_PlaneEquation plane_equation, const ON_BoundingBox &bbox, double padding=0.0625)
 
int Degree (int) const override
 
int Dimension () const override
 ON_Geometry overrides. More...
 
ON_Interval Domain (int) const override
 
bool Evaluate (double, double, int, int, double *, int=0, int *=0) const override
 work horse evaluator More...
 
bool Extend (int dir, const ON_Interval &domain) override
 
ON_Interval Extents (int dir) const
 
bool GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override
 virtual ON_Geometry GetBBox override
More...
 
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 override
 
bool GetLocalClosestPoint (const ON_3dPoint &, double, double, double *, double *, const ON_Interval *=nullptr, const ON_Interval *=nullptr) const override
 
bool GetNextDiscontinuity (int dir, ON::continuity c, double t0, double t1, double *t, int *hint=nullptr, int *dtype=nullptr, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const override
 
int GetNurbForm (ON_NurbsSurface &, double=0.0) const override
 
bool GetParameterTolerance (int, double, double *, double *) const override
 
bool GetSpanVector (int, double *) const override
 
bool GetSurfaceSize (double *width, double *height) const override
 
int HasNurbForm () const override
 
bool IsClosed (int) const override
 
bool IsContinuous (ON::continuity c, double s, double t, int *hint=nullptr, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const override
 
ON_CurveIsoCurve (int dir, double c) const override
 
bool IsPeriodic (int) const override
 
bool IsPlanar (ON_Plane *plane=nullptr, double tolerance=ON_ZERO_TOLERANCE) const override
 
bool IsSingular (int) const override
 
bool IsValid (class ON_TextLog *text_log=nullptr) const override
 
ON_SurfaceOffset (double offset_distance, double tolerance, double *max_deviation=nullptr) const override
 
ON_PlaneSurfaceoperator= (const ON_Plane &)
 
ON_PlaneSurfaceoperator= (const ON_PlaneSurface &)
 
ON_CurvePullback (const ON_Curve &curve_3d, double tolerance, const ON_Interval *curve_3d_subdomain=nullptr, ON_3dPoint start_uv=ON_3dPoint::UnsetPoint, ON_3dPoint end_uv=ON_3dPoint::UnsetPoint, ON_FitResult *rc=0) const override
 
ON_CurvePushup (const ON_Curve &curve_2d, double tolerance, const ON_Interval *curve_2d_subdomain=nullptr, ON_FitResult *rc=0) const override
 
bool Reverse (int) override
 
bool SetDomain (int dir, double t0, double t1) override
 
bool SetExtents (int dir, ON_Interval extents, bool bSynchDomain=false)
 
int SpanCount (int) const override
 number of smooth spans in curve More...
 
bool Split (int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const override
 
bool Transpose () override
 transpose surface parameterization (swap "s" and "t") More...
 
bool Trim (int dir, const ON_Interval &domain) override
 
- Public Member Functions inherited from ON_Surface
 ON_Surface ()
 
 ON_Surface (const ON_Surface &)
 
virtual ~ON_Surface ()
 
bool AreaMassProperties (class 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=nullptr) const override
 
virtual ON_SurfaceTree * CreateSurfaceTree () const
 
ON_CurveCurveIso (ON_Surface::ISO iso, double p=ON_UNSET_VALUE) const
 
void DestroyRuntimeCache (bool bDelete=true) override
 virtual ON_Object::DestroyRuntimeCache override More...
 
void DestroySurfaceTree ()
 
virtual ON_SurfaceDuplicateSurface () const
 
bool Ev1Der (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, int quadrant=0, int *hint=0) const
 
bool 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 override
 virtual ON_Geometry override More...
 
bool EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &normal, int=0, int *=0) const
 
bool EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &normal, int quadrant=0, int *hint=0) const
 
bool EvNormal (double u, double v, ON_3dVector &normal, int quadrant=0, int *hint=0) const
 
bool EvPoint (double u, double v, ON_3dPoint &point, int quadrant=0, int *hint=0) const
 
bool FrameAt (double u, double v, ON_Plane &frame) const
 
bool GetDomain (int dir, double *t0, double *t1) const
 
int GetIsoPushupDirection (const ON_Curve &curve_2d, double tolerance, const ON_Interval *curve_2d_subdomain, double *c, ON_Interval *c3_dom) const
 
virtual bool GetNurbFormParameterFromSurfaceParameter (double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
 
bool GetSilhouette (const ON_Interval *udom, const ON_Interval *vdom, const ON_SilhouetteParameters parameters, const ON_PlaneEquation *clipping_planes, size_t clipping_plane_count, ON_ClassArray< ON_SIL_EVENT > &silhouettes, ON_ProgressReporter *progress, ON_Terminator *terminator) const
 
virtual bool GetSpanVectorIndex (int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const
 
ON_CurveGetSurfaceParameterFromNurbFormParameter (const ON_Curve &curve3d, const ON_Curve &ns_curve2dX, double fit_tolerance) const
 
ON_CurveGetSurfaceParameterFromNurbFormParameter (const ON_SurfaceTree *tree, const ON_Curve &curve3d, const ON_Curve &ns_curve2dX, double fit_tolerance) const
 
virtual bool GetSurfaceParameterFromNurbFormParameter (double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
 
bool HasBrepForm () const override
 
bool HasSingularEdge () const
 
int IntersectPlane (ON_PlaneEquation plane_equation, ON_ClassArray< ON_SSX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, double fitting_tolerance=0.0, const ON_Interval *surface_udomain=0, const ON_Interval *surface_vdomain=0) 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=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsCylinder (ON_Cylinder *cylinder=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsExtrusion (ON_Extrusion *extrusion=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
 
virtual ISO IsIsoparametric (const ON_BoundingBox &bbox) const
 
virtual ISO IsIsoparametric (const ON_Curve &curve, const ON_Interval *curve_domain=nullptr) const
 
bool IsSolid () const
 
bool IsSphere (ON_Sphere *sphere=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsTorus (ON_Torus *torus=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
 
ON_3dVector NormalAt (double, double) const
 
ON_NurbsSurfaceNurbsSurface (ON_NurbsSurface *pNurbsSurface=nullptr, double tolerance=0.0, const ON_Interval *s_subdomain=nullptr, const ON_Interval *t_subdomain=nullptr) const
 
ON::object_type ObjectType () const override
 override ON_Object::ObjectType() - returns ON::surface_object More...
 
ON_Surfaceoperator= (const ON_Surface &)
 
ON_3dPoint PointAt (double, double) const
 simple evaluation interface - no error handling More...
 
bool SetDomain (int dir, ON_Interval domain)
 
unsigned int SizeOf () const override
 virtual ON_Object::SizeOf override More...
 
const ON_SimpleArray< double > SpanVector (int dir) const
 The surface's span vectors are a stricltly monotone increasing lists of doubles that specify the rectangles in the domain where the surface is C-infinity. More...
 
const ON_SurfaceTree * SurfaceTree () const
 
bool VolumeMassProperties (class ON_MassProperties &mp, bool bVolume=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, ON_3dPoint base_point=ON_3dPoint::UnsetPoint, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const
 
- Public Member Functions inherited from ON_Geometry
 ON_Geometry ()=default
 
 ON_Geometry (const ON_Geometry &)=default
 
 ~ON_Geometry ()=default
 
ON_BoundingBox BoundingBox () const
 
virtual void ClearBoundingBox ()
 
virtual ON_COMPONENT_INDEX ComponentIndex () const
 
bool GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const
 
bool GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const
 
virtual bool GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const
 
virtual bool IsDeformable () const
 
virtual bool IsMorphable () const
 
virtual bool MakeDeformable ()
 
virtual bool Morph (const class ON_SpaceMorph &morph)
 
ON_Geometryoperator= (const ON_Geometry &)=default
 
bool Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
bool Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
bool Scale (double scale_factor)
 
virtual bool SwapCoordinates (int i, int j)
 
const ON_BoundingBox TightBoundingBox () const
 
bool Translate (const ON_3dVector &translation_vector)
 
- Public Member Functions inherited from ON_Object
 ON_Object () ON_NOEXCEPT
 
 ON_Object (const ON_Object &)
 
virtual ~ON_Object ()
 
virtual ON_AggregateComponentStatus AggregateComponentStatus () const
 
bool AttachUserData (class ON_UserData *pUserData)
 
unsigned int ClearAllComponentStates () const
 
virtual unsigned int ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const
 
virtual unsigned int ClearComponentStates (ON_ComponentStatus states_to_clear) const
 
void CopyUserData (const ON_Object &source_object)
 
unsigned int CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution)
 
virtual bool DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)
 
bool DetachUserData (class ON_UserData *pUserData)
 
void DumpUserData (const wchar_t *description, ON_TextLog &text_log) const
 Go through the linked list of ON_UserData attached to this and call the virtual Dump(text_log) function on each instance. More...
 
void EmergencyDestroy ()
 
class ON_UserDataFirstUserData () const
 
virtual unsigned int GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const
 
class 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
 
bool IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const
 
bool IsKindOf (const ON_ClassId *pClassId) const
 
virtual void MarkAggregateComponentStatusAsNotCurrent () const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
unsigned int MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems)
 
ON_wString ObjectTypeStr () const
 virtual More...
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
virtual unsigned int SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const
 
virtual unsigned int SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
 
bool ThisIsNullptr (bool bSilentError) const
 
void TransformUserData (const class ON_Xform &xform)
 
virtual bool UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map)
 
int UserStringCount () const
 

Public Attributes

ON_ClippingPlane m_clipping_plane
 
- Public Attributes inherited from ON_PlaneSurface
ON_Plane m_plane
 

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
}
 pure virtual class for surface objects More...
 
- Public Types inherited from ON_Object
enum  UserDataConflictResolution : unsigned char {
  UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3,
  UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6
}
 
- 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)
 
static class ON_NurbsSurfaceCreateLinearLoft (int curve_count, const ON_Curve *const *curve_list, double k, int is_closed=0, class ON_NurbsSurface *nurbs_surface=0)
 
- Static Public Attributes inherited from ON_Geometry
const static ON_Geometry Unset
 
- 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, ON_FitResult *rc) const
 Helper for ON_Surface::Pullback overrides that handles "real" curve issues. More...
 
ON_CurvePullbackPolyCurve (const ON_PolyCurve &polycurve_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv, ON_FitResult *rc) const
 
ON_CurvePushupCurveProxy (const ON_CurveProxy &curveproxy_2d, double tolerance, const ON_Interval *curve_2d_subdomain, ON_FitResult *rc) const
 Helper for ON_Surface::Pushup overrides that handles "real" curve issues. More...
 
ON_CurvePushupPolyCurve (const ON_PolyCurve &polycurve_2d, double tolerance, const ON_Interval *curve_2d_subdomain, ON_FitResult *rc) const
 
- Protected Attributes inherited from ON_PlaneSurface
ON_Interval m_domain [2]
 evaluation domain (always increasing) More...
 
ON_Interval m_extents [2]
 rectangle extents (in m_plane x,y coordinates) More...
 

Constructor & Destructor Documentation

◆ ON_ClippingPlaneSurface() [1/3]

ON_ClippingPlaneSurface::ON_ClippingPlaneSurface ( )

◆ ON_ClippingPlaneSurface() [2/3]

ON_ClippingPlaneSurface::ON_ClippingPlaneSurface ( const ON_Plane src)

◆ ON_ClippingPlaneSurface() [3/3]

ON_ClippingPlaneSurface::ON_ClippingPlaneSurface ( const ON_PlaneSurface src)

◆ ~ON_ClippingPlaneSurface()

ON_ClippingPlaneSurface::~ON_ClippingPlaneSurface ( )

Member Function Documentation

◆ DataCRC()

ON__UINT32 ON_ClippingPlaneSurface::DataCRC ( ON__UINT32  current_remainder) const
overridevirtual

virtual ON_Object::DataCRC override

Reimplemented from ON_PlaneSurface.

◆ Default()

void ON_ClippingPlaneSurface::Default ( )

◆ DimensionStyleId()

ON_UUID ON_ClippingPlaneSurface::DimensionStyleId ( ) const

Description: The id of the dimstyle used by this clipping plane surface. This is used to help determine how the clipping plane is drawn with respect to things like arrows and fonts

◆ Dump()

void ON_ClippingPlaneSurface::Dump ( ON_TextLog ) const
overridevirtual

virtual ON_Object::Dump override

for debugging

Reimplemented from ON_PlaneSurface.

◆ ObjectType()

ON::object_type ON_ClippingPlaneSurface::ObjectType ( ) const
overridevirtual

override ON_Object::ObjectType() - returns ON::clipplane_object

Reimplemented from ON_Object.

◆ operator=() [1/2]

ON_ClippingPlaneSurface& ON_ClippingPlaneSurface::operator= ( const ON_Plane src)

◆ operator=() [2/2]

ON_ClippingPlaneSurface& ON_ClippingPlaneSurface::operator= ( const ON_PlaneSurface src)

◆ Read()

bool ON_ClippingPlaneSurface::Read ( ON_BinaryArchive )
overridevirtual

virtual ON_Object::Read override

Reimplemented from ON_PlaneSurface.

◆ SetDimensionStyleId()

void ON_ClippingPlaneSurface::SetDimensionStyleId ( ON_UUID  styleId)

Description: Sets the id of the dimstyle used by this clipping plane surface. This is used to help determine how the clipping plane is drawn with respect to things like arrows and fonts

◆ SizeOf()

unsigned int ON_ClippingPlaneSurface::SizeOf ( ) const
overridevirtual

virtual ON_Object::SizeOf override

Reimplemented from ON_PlaneSurface.

◆ Transform()

bool ON_ClippingPlaneSurface::Transform ( const ON_Xform xform)
overridevirtual

Description: Transforms the object.

Parameters: xform - [in] transformation to apply to object. If xform.IsSimilarity() is zero, then you may want to call MakeSquishy() before calling Transform.

Remarks: When overriding this function, be sure to include a call to ON_Object::TransformUserData() which takes care of transforming any ON_UserData that may be attached to the object.

See Also: ON_Geometry::IsDeformable();

Remarks: Classes derived from ON_Geometry should call ON_Geometry::Transform() to handle user data transformations and then transform their definition.

Reimplemented from ON_PlaneSurface.

◆ Write()

bool ON_ClippingPlaneSurface::Write ( ON_BinaryArchive ) const
overridevirtual

virtual ON_Object::Write override

Reimplemented from ON_PlaneSurface.

Member Data Documentation

◆ m_clipping_plane

ON_ClippingPlane ON_ClippingPlaneSurface::m_clipping_plane