OpendTect  7.0
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Geometry::IndexedGeometry Class Reference

Public Types

enum  SetType { IndexSet = 0 , RangeSet }
 
enum  Type {
  Points , Lines , Triangles , TriangleStrip ,
  TriangleFan
}
 

Public Member Functions

 IndexedGeometry (Type, Coord3List *coords=0, Coord3List *normals=0, Coord3List *texturecoords=0, SetType settype=IndexSet, bool large=false)
 
virtual ~IndexedGeometry ()
 
void appendCoordIndices (const TypeSet< int > &, bool reverse=true)
 
PrimitiveSetgetCoordsPrimitiveSet ()
 
SetType getPrimitiveSetType () const
 
Type getPrimitiveType () const
 
void hide (bool yn)
 
bool isEmpty () const
 
bool isHidden () const
 
void removeAll (bool deep)
 
void setCoordIndices (const TypeSet< int > &)
 

Public Attributes

bool ischanged_
 
Threads::Lock lock_
 
SetType primitivesettype_
 
Type primitivetype_
 

Protected Member Functions

void appendCoordIndicesAsTriangleFan (const TypeSet< int > &)
 
void appendCoordIndicesAsTriangles (const TypeSet< int > &, bool)
 
void appendCoordIndicesAsTriangleStrips (const TypeSet< int > &)
 

Protected Attributes

Coord3Listcoordlist_
 
bool ishidden_
 
Coord3Listnormallist_
 
Geometry::PrimitiveSetprimitiveset_
 
Coord3Listtexturecoordlist_
 

Detailed Description

A geometry that is defined by a number of coordinates (defined outside the class), by specifying connections between the coordinates.

<>

Member Enumeration Documentation

◆ SetType

Enumerator
IndexSet 
RangeSet 

◆ Type

Enumerator
Points 
Lines 
Triangles 
TriangleStrip 
TriangleFan 

Constructor & Destructor Documentation

◆ IndexedGeometry()

Geometry::IndexedGeometry::IndexedGeometry ( Type  ,
Coord3List coords = 0,
Coord3List normals = 0,
Coord3List texturecoords = 0,
SetType  settype = IndexSet,
bool  large = false 
)

If coords or normals are given, used indices will be removed when object deleted or removeAll is called. If multiple geometries are sharing the coords/normals, this is probably not what you want. The bool "large:true" indicates creating a geometry set by uint primitive set type, otherwise set by ushort type

◆ ~IndexedGeometry()

virtual Geometry::IndexedGeometry::~IndexedGeometry ( )
virtual

Member Function Documentation

◆ appendCoordIndices()

void Geometry::IndexedGeometry::appendCoordIndices ( const TypeSet< int > &  ,
bool  reverse = true 
)

◆ appendCoordIndicesAsTriangleFan()

void Geometry::IndexedGeometry::appendCoordIndicesAsTriangleFan ( const TypeSet< int > &  )
protected

◆ appendCoordIndicesAsTriangles()

void Geometry::IndexedGeometry::appendCoordIndicesAsTriangles ( const TypeSet< int > &  ,
bool   
)
protected

◆ appendCoordIndicesAsTriangleStrips()

void Geometry::IndexedGeometry::appendCoordIndicesAsTriangleStrips ( const TypeSet< int > &  )
protected

◆ getCoordsPrimitiveSet()

PrimitiveSet* Geometry::IndexedGeometry::getCoordsPrimitiveSet ( )
inline

◆ getPrimitiveSetType()

SetType Geometry::IndexedGeometry::getPrimitiveSetType ( ) const
inline

◆ getPrimitiveType()

Type Geometry::IndexedGeometry::getPrimitiveType ( ) const
inline

◆ hide()

void Geometry::IndexedGeometry::hide ( bool  yn)
inline

◆ isEmpty()

bool Geometry::IndexedGeometry::isEmpty ( ) const

◆ isHidden()

bool Geometry::IndexedGeometry::isHidden ( ) const
inline

◆ removeAll()

void Geometry::IndexedGeometry::removeAll ( bool  deep)

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

◆ setCoordIndices()

void Geometry::IndexedGeometry::setCoordIndices ( const TypeSet< int > &  )

Member Data Documentation

◆ coordlist_

Coord3List* Geometry::IndexedGeometry::coordlist_
protected

◆ ischanged_

bool Geometry::IndexedGeometry::ischanged_
mutable

◆ ishidden_

bool Geometry::IndexedGeometry::ishidden_
protected

◆ lock_

Threads::Lock Geometry::IndexedGeometry::lock_
mutable

◆ normallist_

Coord3List* Geometry::IndexedGeometry::normallist_
protected

◆ primitiveset_

Geometry::PrimitiveSet* Geometry::IndexedGeometry::primitiveset_
protected

◆ primitivesettype_

SetType Geometry::IndexedGeometry::primitivesettype_

◆ primitivetype_

Type Geometry::IndexedGeometry::primitivetype_

◆ texturecoordlist_

Coord3List* Geometry::IndexedGeometry::texturecoordlist_
protected

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