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

#include <FMMdlSurface.h>

Inheritance diagram for FacetModeler::ShadedSurface:
FacetModeler::Surface FacetModeler::Entity

Public Member Functions

 ShadedSurface (double creaseAngle=0)
 
virtual Type type () const
 
virtual Surfacecopy (Body &to) const
 
void findSharpEdges (const Body &body, double angleTol)
 
bool belongsToSharpEdge (const Vertex *vertex) const
 
int nSharpEdges () const
 
double creaseAngle () const
 
- Public Member Functions inherited from FacetModeler::Surface
 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 Attributes

std::set< const Vertex * > m_setSharpEdge
 
double m_creaseAngle
 

Additional Inherited Members

- Public Types inherited from FacetModeler::Surface
enum  Type {
  kUndefined = 0 , kCylinder = 1 , kCone = 2 , kSphere = 3 ,
  kTorus = 4 , kShaded = 5
}
 
- Protected Member Functions inherited from FacetModeler::Surface
int surface_compare (const Surface *pOther, double eps) const
 
virtual Surfaceclone (Body &to) const
 

Detailed Description

Used to mark shaded surfaces in Architecture rendering. Vertex normals will be calculated on faces marked with the same ShadedSurface instance

Definition at line 192 of file FMMdlSurface.h.

Constructor & Destructor Documentation

◆ ShadedSurface()

FacetModeler::ShadedSurface::ShadedSurface ( double  creaseAngle = 0)

Constructor. Creates a ShadedSurface

Parameters
creaseAngle[in] The angle between faces to count the edge "smooth".

Member Function Documentation

◆ belongsToSharpEdge()

bool FacetModeler::ShadedSurface::belongsToSharpEdge ( const Vertex vertex) const

Returns true if the vertex belongs to sharp edge.

Parameters
vertex[in] The vertex to check.

◆ copy()

virtual Surface * FacetModeler::ShadedSurface::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 from FacetModeler::Surface.

◆ creaseAngle()

double FacetModeler::ShadedSurface::creaseAngle ( ) const

Returns the crease angle of this surface.

◆ findSharpEdges()

void FacetModeler::ShadedSurface::findSharpEdges ( const Body body,
double  angleTol 
)

Finds sharp edges laying on this surface.

Parameters
body[in] Current body.
angleTol[in] The angle threshold to cound edge "sharp".

◆ nSharpEdges()

int FacetModeler::ShadedSurface::nSharpEdges ( ) const

Returns the number of sharp edges for this surface.

◆ type()

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

Gets the surface type.

\always returns kShaded for ShadedSurface

Reimplemented from FacetModeler::Surface.

Member Data Documentation

◆ m_creaseAngle

double FacetModeler::ShadedSurface::m_creaseAngle
protected

The angle between faces to count the edge "smooth".

Definition at line 250 of file FMMdlSurface.h.

◆ m_setSharpEdge

std::set<const Vertex*> FacetModeler::ShadedSurface::m_setSharpEdge
protected

The set of vertexes laying on sharp edges. Sharp edges will not be rendered "smooth" by FMDrawBody.

Definition at line 245 of file FMMdlSurface.h.


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