Rhino C++ API  8.14
Public Member Functions | Public Attributes | List of all members
ON_ObjRefEvaluationParameter Class Reference

#include <opennurbs_objref.h>

Public Member Functions

 ON_ObjRefEvaluationParameter ()
 
 ~ON_ObjRefEvaluationParameter ()
 
void Default ()
 
bool GetSubDComponentParameter (class ON_SubDComponentParameter &subd_cp) const
 
bool Read (ON_BinaryArchive &)
 
bool SetFromSubDComponentParameter (const class ON_SubDComponentParameter &subd_cp)
 
bool Write (ON_BinaryArchive &) const
 

Public Attributes

ON_Interval m_s [3]
 curve/surface/cage domains More...
 
double m_t [4]
 
ON_COMPONENT_INDEX m_t_ci
 
int m_t_type
 

Detailed Description

Copyright (c) 1993-2022 Robert McNeel & Associates. All rights reserved. OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete openNURBS copyright information see http://www.opennurbs.org.

Constructor & Destructor Documentation

◆ ON_ObjRefEvaluationParameter()

ON_ObjRefEvaluationParameter::ON_ObjRefEvaluationParameter ( )

◆ ~ON_ObjRefEvaluationParameter()

ON_ObjRefEvaluationParameter::~ON_ObjRefEvaluationParameter ( )

Member Function Documentation

◆ Default()

void ON_ObjRefEvaluationParameter::Default ( )

◆ GetSubDComponentParameter()

bool ON_ObjRefEvaluationParameter::GetSubDComponentParameter ( class ON_SubDComponentParameter subd_cp) const

◆ Read()

bool ON_ObjRefEvaluationParameter::Read ( ON_BinaryArchive )

◆ SetFromSubDComponentParameter()

bool ON_ObjRefEvaluationParameter::SetFromSubDComponentParameter ( const class ON_SubDComponentParameter subd_cp)

◆ Write()

bool ON_ObjRefEvaluationParameter::Write ( ON_BinaryArchive ) const

Member Data Documentation

◆ m_s

ON_Interval ON_ObjRefEvaluationParameter::m_s[3]

curve/surface/cage domains

◆ m_t

double ON_ObjRefEvaluationParameter::m_t[4]

◆ m_t_ci

ON_COMPONENT_INDEX ON_ObjRefEvaluationParameter::m_t_ci

Not necessarily the same as m_component_index See comment above for details.

◆ m_t_type

int ON_ObjRefEvaluationParameter::m_t_type

If m_point != ON_3dPoint::UnsetPoint and m_t_type != 0, then m_t_type, m_t, and m_t_ci record the m_geometry evaluation parameters of the m_point.

m_t_type values

0: no parameter values; m_t_ci and m_t[] have no meaning.

1: m_geometry points to a curve, m_t[0] is a curve parameter for m_point, and m_t_ci has no meaning.

2: m_geometry points to surface or single faced brep, (m_t[0],m_t[1]) is a surface parameter for m_point, and m_t_ci has no meaning. In this case, m_component_index may not be set or, if m_geometry points to a brep face, m_component_index may identify the face in the parent brep.

3: m_geometry points to a brep edge with an associated trim and m_t[0] is the edge parameter for m_point. m_t_ci is the ON_BrepTrim component index and m_t[1] is the ON_BrepTrim parameter that corresponds to the edge point. m_s[0] and m_s[1] are normalized parameters. In this case m_component_index identifies the the edge in the brep and m_t_ci identifies a trim.

4: m_geometry points to a mesh or mesh face and m_t_ci identifies the mesh face. If the face is a triangle, the barycentric coordinates of m_point are(m_t[0], m_t[1], m_t[2]) and m_t[3] is zero. If the mesh face is a quadrangle, the barycentric coordinates of m_point are (m_t[0], m_t[1], m_t[2], m_t[3]) and at least one of the coordinates is zero. In both cases, the point can be evaluated using the formula m_t[0]*mesh.m_V[f.vi[0]] + ... + m_t[3]*mesh.m_V[f.vi[3]], where f = mesh.m_F[m_component_index.m_index]. In this case, if m_geometry points to a mesh, then m_component_index != m_t_ci.

5: m_geometry points to a mesh or mesh edge and m_t_ci identifies the mesh edge. The normalized coordinate of the point on the mesh edge is m_t[0]. The point can be evaluated using the formula m_t[0]*mesh.m_V[v0] + (1.0-m_t[0])*mesh.m_V[v1], where v0 and v1 are the indices of the mesh vertices at the edge's ends. In this case, if m_geometry points to a mesh, then m_component_index != m_t_ci.

6: m_geometry points to a NURBS cage and (m_t[0],m_t[1],m_t[2]) are cage evaluation parameters.

7: m_geometry points to an annotation object and m_t_ci identifies a point on the annotation object.

8: m_geometry points to a mesh or mesh vertex object and m_t_ci identifies a vertex on the mesh object.

9: A SubD component parameter. m_t_ci identifies the SubD component. m_t[], m_s[], are used to encode a collection of indicies and doubles that depend on the SubD component type. Use the SetFromSubDComponentParameter() and GetSubDComponentParameter() to convert between ON_ObjRefEvaluationParameter and ON_SubDComponentParameter values.