CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
FacetModeler::Surface Class Reference

#include <FMMdlSurface.h>

Inheritance diagram for FacetModeler::Surface:
FacetModeler::Entity FacetModeler::Revolution FacetModeler::ShadedSurface FacetModeler::Cone FacetModeler::Cylinder FacetModeler::Sphere FacetModeler::Torus

Public Types

enum  Type {
  kUndefined = 0 , kCylinder = 1 , kCone = 2 , kSphere = 3 ,
  kTorus = 4 , kShaded = 5
}
 

Public Member Functions

 Surface ()
 
virtual Surfacecopy (Body &to) const
 
virtual Type type () const
 
virtual OdGeVector3d normal (const Vertex &atV, const Face &atF) const
 
virtual void transform (const OdGeMatrix3d &x)
 
virtual int compare (const Surface *pOther, double eps) const
 
Surfacenext () const
 
void setNext (Surface *s)
 
 ~Surface ()
 
- Public Member Functions inherited from FacetModeler::Entity
 Entity ()
 
 Entity (const Entity &ent)
 
Entityoperator= (const Entity &entity)
 
OdUInt32 flags () const
 
void setFlags (OdUInt32 iFlags)
 
bool isFlagOn (OdUInt32 iFlag) const
 
void setIsFlagOn (OdUInt32 iFlag, bool bOn)
 
TagType tag () const
 
void setTag (TagType nTag)
 
virtual ~Entity ()
 

Protected Member Functions

int surface_compare (const Surface *pOther, double eps) const
 
virtual Surfaceclone (Body &to) const
 

Friends

class Body
 
class BodyImpl
 
class BodyCustom
 

Detailed Description

Represents facet body surface objects.

Definition at line 36 of file FMMdlSurface.h.

Member Enumeration Documentation

◆ Type

Defines surface object types.

Enumerator
kUndefined 

Undefined surface

kCylinder 

Cylindrical surface

kCone 

Conical surface

kSphere 

Spherical surface

kTorus 

Toroidal surface

kShaded 

Used for shaded rendering in Architecture to mark continuous surfaces

Definition at line 55 of file FMMdlSurface.h.

Constructor & Destructor Documentation

◆ Surface()

FacetModeler::Surface::Surface ( )

Default constructor.

◆ ~Surface()

FacetModeler::Surface::~Surface ( )

Destructor.

Member Function Documentation

◆ clone()

virtual Surface * FacetModeler::Surface::clone ( Body to) const
protectedvirtual

Creates a clone of the surface in the specified body.

Parameters
to[in] Destination body.
Returns
Pointer to the cloned object.
Remarks
Saves object binding.

◆ compare()

virtual int FacetModeler::Surface::compare ( const Surface pOther,
double  eps 
) const
virtual

Compares surfaces with the specified tolerance.

Parameters
pOther[in] Other surface to compare with.
eps[in] Comparison tolerance.
Returns
0 - if the surfaces are equal, 1 - if a parameter of this surface is greater than the corresponding parameter of another surface, -1 - otherwise.
Remarks
The main purpose of the method is to sort surfaces.

Reimplemented in FacetModeler::Cone, FacetModeler::Torus, FacetModeler::Revolution, FacetModeler::Sphere, and FacetModeler::Cylinder.

◆ copy()

virtual Surface * FacetModeler::Surface::copy ( Body to) const
virtual

Creates a copy of the surface to the specified body.

Parameters
to[in] Destination body.
Returns
Pointer to the newly created surface.

Reimplemented in FacetModeler::ShadedSurface, FacetModeler::Sphere, FacetModeler::Cylinder, FacetModeler::Cone, and FacetModeler::Torus.

◆ next()

Surface * FacetModeler::Surface::next ( ) const

Gets the next surface in the body.

Returns
Pointer to the next surface in the body.

◆ normal()

virtual OdGeVector3d FacetModeler::Surface::normal ( const Vertex atV,
const Face atF 
) const
virtual

Gets the normal at the specified vertex on the specified face.

Parameters
atV[in] The vertex at which the normal is computed.
atF[in] The face for which the normal is computed.
Returns
Normal at the specified vertex on the specified face.
Remarks
Child surfaces do not use the second input parameter.

Reimplemented in FacetModeler::Sphere, FacetModeler::Cylinder, FacetModeler::Cone, and FacetModeler::Torus.

◆ setNext()

void FacetModeler::Surface::setNext ( Surface s)

Sets the pointer to the next item in the list of surfaces.

Parameters
s[in] Next surface pointer to set.

◆ surface_compare()

int FacetModeler::Surface::surface_compare ( const Surface pOther,
double  eps 
) const
protected

Compares this surface with other by types.

Parameters
pOther[in] Other surface pointer.
eps[out] Epsilon.
Returns
1 - if this surface type > other surface type -1 - otherwise.

◆ transform()

virtual void FacetModeler::Surface::transform ( const OdGeMatrix3d x)
virtual

Transforms the surface with the given transformation matrix.

Parameters
x[in] Given transformation matrix.
Remarks
Base class has no data to transform.

Reimplemented in FacetModeler::Revolution, FacetModeler::Sphere, FacetModeler::Cylinder, FacetModeler::Cone, and FacetModeler::Torus.

◆ type()

virtual Type FacetModeler::Surface::type ( ) const
virtual

Gets the surface type.

Returns
Type of the surface as a Type enumeration value.

Reimplemented in FacetModeler::ShadedSurface, FacetModeler::Sphere, FacetModeler::Cylinder, FacetModeler::Cone, and FacetModeler::Torus.

Friends And Related Function Documentation

◆ Body

friend class Body
friend

Definition at line 182 of file FMMdlSurface.h.

◆ BodyCustom

friend class BodyCustom
friend

Definition at line 184 of file FMMdlSurface.h.

◆ BodyImpl

friend class BodyImpl
friend

Definition at line 183 of file FMMdlSurface.h.


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