OpendTect-6_4  6.4
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Geometry::IndexedGeometry Class Reference

Public Types

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

Public Member Functions

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

Public Attributes

Threads::Lock lock_
 
bool ischanged_
 
Type primitivetype_
 
SetType primitivesettype_
 

Protected Member Functions

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

Protected Attributes

bool ishidden_
 
Coord3Listcoordlist_
 
Coord3Listtexturecoordlist_
 
Coord3Listnormallist_
 
Geometry::PrimitiveSetprimitiveset_
 

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

Enumerator
IndexSet 
RangeSet 
Enumerator
Points 
Lines 
Triangles 
TriangleStrip 
TriangleFan 

Constructor & Destructor Documentation

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

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

Member Function Documentation

void Geometry::IndexedGeometry::appendCoordIndices ( const TypeSet< int > &  ,
bool  reverse = true 
)
void Geometry::IndexedGeometry::appendCoordIndicesAsTriangleFan ( const TypeSet< int > &  )
protected
void Geometry::IndexedGeometry::appendCoordIndicesAsTriangles ( const TypeSet< int > &  ,
bool   
)
protected
void Geometry::IndexedGeometry::appendCoordIndicesAsTriangleStrips ( const TypeSet< int > &  )
protected
PrimitiveSet* Geometry::IndexedGeometry::getCoordsPrimitiveSet ( )
inline
SetType Geometry::IndexedGeometry::getPrimitiveSetType ( ) const
inline
Type Geometry::IndexedGeometry::getPrimitiveType ( ) const
inline
void Geometry::IndexedGeometry::hide ( bool  yn)
inline
bool Geometry::IndexedGeometry::isEmpty ( ) const
bool Geometry::IndexedGeometry::isHidden ( ) const
inline
void Geometry::IndexedGeometry::removeAll ( bool  deep)

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

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

Member Data Documentation

Coord3List* Geometry::IndexedGeometry::coordlist_
protected
bool Geometry::IndexedGeometry::ischanged_
mutable
bool Geometry::IndexedGeometry::ishidden_
protected
Threads::Lock Geometry::IndexedGeometry::lock_
mutable
Coord3List* Geometry::IndexedGeometry::normallist_
protected
Geometry::PrimitiveSet* Geometry::IndexedGeometry::primitiveset_
protected
SetType Geometry::IndexedGeometry::primitivesettype_
Type Geometry::IndexedGeometry::primitivetype_
Coord3List* Geometry::IndexedGeometry::texturecoordlist_
protected

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