OpendTect  7.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
Geometry::IndexedShape Class Reference
Inheritance diagram for Geometry::IndexedShape:
[legend]

Public Member Functions

virtual ~IndexedShape ()
 
Coord3ListcoordList ()
 
const Coord3ListcoordList () const
 
virtual bool createsNormals () const
 
virtual bool createsTextureCoords () const
 
ObjectSet< IndexedGeometry > & getGeometry ()
 
const ObjectSet< IndexedGeometry > & getGeometry () const
 
int getVersion () const
 
virtual bool needsUpdate () const
 
Coord3ListnormalCoordList ()
 
const Coord3ListnormalCoordList () const
 
virtual void removeAll (bool deep)
 
virtual void setCoordList (Coord3List *cl, Coord3List *nl=0, Coord3List *texturecoords=0, bool createnew=true)
 
virtual void setRightHandedNormals (bool)
 
Coord3ListtextureCoordList ()
 
const Coord3ListtextureCoordList () const
 
virtual bool update (bool forceall, TaskRunner *=0)
 

Protected Member Functions

 IndexedShape ()
 
void addVersion ()
 

Protected Attributes

Coord3Listcoordlist_ = nullptr
 
ObjectSet< IndexedGeometrygeometries_
 
Threads::Lock geometrieslock_
 
Coord3Listnormallist_ = nullptr
 
bool righthandednormals_ = false
 
Coord3Listtexturecoordlist_ = nullptr
 

Private Attributes

int version_ = 0
 

Detailed Description

Defines a shape with coordinates and connections between them. The shape is defined in an ObjectSet of IndexedGeometry. All IndexedGeometry share one common coordinate and normal list.

<>

Constructor & Destructor Documentation

◆ ~IndexedShape()

virtual Geometry::IndexedShape::~IndexedShape ( )
virtual

◆ IndexedShape()

Geometry::IndexedShape::IndexedShape ( )
protected

Member Function Documentation

◆ addVersion()

void Geometry::IndexedShape::addVersion ( )
protected

Should be called every time object is changed.

◆ coordList() [1/2]

Coord3List* Geometry::IndexedShape::coordList ( )
inline

◆ coordList() [2/2]

const Coord3List* Geometry::IndexedShape::coordList ( ) const
inline

◆ createsNormals()

virtual bool Geometry::IndexedShape::createsNormals ( ) const
inlinevirtual

◆ createsTextureCoords()

virtual bool Geometry::IndexedShape::createsTextureCoords ( ) const
inlinevirtual

◆ getGeometry() [1/2]

ObjectSet<IndexedGeometry>& Geometry::IndexedShape::getGeometry ( )

◆ getGeometry() [2/2]

const ObjectSet<IndexedGeometry>& Geometry::IndexedShape::getGeometry ( ) const

◆ getVersion()

int Geometry::IndexedShape::getVersion ( ) const
inline

◆ needsUpdate()

virtual bool Geometry::IndexedShape::needsUpdate ( ) const
inlinevirtual

◆ normalCoordList() [1/2]

Coord3List* Geometry::IndexedShape::normalCoordList ( )
inline

◆ normalCoordList() [2/2]

const Coord3List* Geometry::IndexedShape::normalCoordList ( ) const
inline

◆ removeAll()

virtual void Geometry::IndexedShape::removeAll ( bool  deep)
virtual

deep will remove all things from lists (coords,normals++). Non-deep will just leave them there

Reimplemented in Geometry::ExplPolygonSurface, Geometry::ExplPlaneIntersection, Geometry::ExplFaultStickSurface, and ExplicitMarchingCubesSurface.

◆ setCoordList()

virtual void Geometry::IndexedShape::setCoordList ( Coord3List cl,
Coord3List nl = 0,
Coord3List texturecoords = 0,
bool  createnew = true 
)
virtual

◆ setRightHandedNormals()

virtual void Geometry::IndexedShape::setRightHandedNormals ( bool  )
inlinevirtual

◆ textureCoordList() [1/2]

Coord3List* Geometry::IndexedShape::textureCoordList ( )
inline

◆ textureCoordList() [2/2]

const Coord3List* Geometry::IndexedShape::textureCoordList ( ) const
inline

◆ update()

virtual bool Geometry::IndexedShape::update ( bool  forceall,
TaskRunner = 0 
)
inlinevirtual

Member Data Documentation

◆ coordlist_

Coord3List* Geometry::IndexedShape::coordlist_ = nullptr
protected

◆ geometries_

ObjectSet<IndexedGeometry> Geometry::IndexedShape::geometries_
protected

◆ geometrieslock_

Threads::Lock Geometry::IndexedShape::geometrieslock_
protected

◆ normallist_

Coord3List* Geometry::IndexedShape::normallist_ = nullptr
protected

◆ righthandednormals_

bool Geometry::IndexedShape::righthandednormals_ = false
protected

◆ texturecoordlist_

Coord3List* Geometry::IndexedShape::texturecoordlist_ = nullptr
protected

◆ version_

int Geometry::IndexedShape::version_ = 0
private

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024