OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Data Structures | Public Member Functions | Protected Member Functions
PrimList Class Reference

#include <prim_list.hh>

Inherits GfxObj.

Data Structures

struct  LineEntry
struct  PointEntry

Public Member Functions

 PrimList (const String &name)
virtual geom::AlignedCuboid GetBoundingBox () const
virtual void ProcessLimits (geom::Vec3 &minc, geom::Vec3 &maxc, const mol::Transform &tf) const
virtual geom::Vec3 GetCenter () const
virtual void CustomRenderPov (PovState &pov)
virtual void CustomRenderGL (RenderPass pass)
virtual void OnRenderModeChange ()
void Clear ()
void AddPoint (const geom::Vec3 &p, const Color &col)
void AddLine (const geom::Vec3 &p1, const geom::Vec3 &p2, const Color &col1, const Color &col2)
void AddSphere (const geom::Vec3 &cen, float rad, const Color &col)
void AddCyl (const geom::Vec3 &p0, const geom::Vec3 &p1, float r1, float r2, const Color &col1, const Color &col2)
void AddText (const std::string &text, const geom::Vec3 &pos, const Color &col, float point_size)
void SetDiameter (float d)
void SetRadius (float r)
void SetColor (const Color &c)
void SetSphereDetail (unsigned int d)
unsigned int GetSphereDetail () const
void SetArcDetail (unsigned int d)
unsigned int GetArcDetail () const
void AddMesh (float *v, float *n, float *c, size_t nv, unsigned int *i, size_t ni)
- Public Member Functions inherited from GfxObj
 GfxObj (const String &name)
virtual GfxNodeP Copy () const
virtual void DeepSwap (GfxObj &go)
virtual void RenderGL (RenderPass pass)
virtual void RenderPov (PovState &pov)
virtual void Export (Exporter *ex)
virtual void Apply (GfxNodeVisitor &v, GfxNodeVisitor::Stack st)
virtual int GetType () const
virtual void SetMatAmb (const Color &c)
virtual void SetMatDiff (const Color &c)
virtual void SetMatSpec (const Color &c)
virtual void SetMatShin (float s)
virtual void SetMatEmm (const Color &c)
virtual void ContextSwitch ()
virtual void SetRenderMode (RenderMode::Type m)
virtual RenderMode::Type GetRenderMode () const
virtual void SetLineWidth (float w)
virtual void SetPolyMode (unsigned int m)
virtual void SetAALines (bool f)
virtual void SetLineHalo (float f)
virtual void SetOutline (bool f)
virtual bool GetOutline () const
virtual void SetOutlineMode (int m)
virtual int GetOutlineMode () const
virtual void SetOutlineWidth (float f)
virtual float GetOutlineWidth () const
virtual void SetOutlineExpandFactor (float f)
virtual float GetOutlineExpandFactor () const
virtual void SetOutlineExpandColor (const Color &c)
virtual Color GetOutlineExpandColor () const
virtual void SetOpacity (float f)
virtual float GetOpacity () const
virtual void ColorBy (const mol::EntityView &ev, const String &prop, const Gradient &g, float minv, float maxv)
virtual void InitGL ()
virtual bool OnSelect (const geom::Line3 &l, geom::Vec3 &result, float zlim, bool pick_flag)
virtual void OnInput (const InputEvent &e)
virtual void OnGLCleanup ()
const mol::TransformGetTF () const
void SetTF (const mol::Transform &tf)
void AddLabel (const String &s, const geom::Vec3 &pos, const Color &col, float psize)
void AddLabel (const String &s, const geom::Vec3 &pos, const Color &col)
void AddLabel (const String &s, const geom::Vec3 &pos, float psize)
void AddLabel (const String &s, const geom::Vec3 &pos)
void ClearLabels ()
void FlagRebuild ()
void FlagRefresh ()
bool GetAALines () const
float GetLineWidth () const
float GetLineHalo () const
void SetNormalSmoothFactor (float smoothf)
float GetNormalSmoothFactor () const
Material GetMaterial () const
void SetMaterial (const Material &m)
void SmoothVertices (float smoothf)
void GLCleanup ()
void Debug (unsigned int flags)
- Public Member Functions inherited from GfxObjBase
 GfxObjBase (const String &name)
- Public Member Functions inherited from GfxNode
 GfxNode (const String &name)
virtual ~GfxNode ()
virtual void DeepSwap (GfxNode &n)
String GetName () const
void RemoveAll ()
void Rename (const String &name)
void Add (GfxObjP obj)
bool IsNameAvailable (const String &name) const
void Remove (GfxObjP obj)
void Add (GfxNodeP node)
void Remove (GfxNodeP node)
void Remove (const String &name)
size_t GetChildCount () const
void Hide ()
void Show ()
bool IsVisible () const
bool IsAttachedToScene () const
gfx::GfxNodeP GetParent () const
const GfxNodeVectorGetChildren () const
GfxNodeVectorGetChildren ()

Protected Member Functions

virtual void CustomPreRenderGL (bool flag)
- Protected Member Functions inherited from GfxObj
void PreRenderGL (bool flag)
void AppendColorOp (gfx::ColorOp *op)
void CleanColorOps ()
void ReapplyColorOps ()
void render_labels () const
void render_depth_only ()

Additional Inherited Members

- Static Public Member Functions inherited from GfxObj
static Color Ele2Color (const String &ele)
- Protected Attributes inherited from GfxObj
IndexedVertexArray va_
RenderMode::Type render_mode_
unsigned int debug_flags_
mol::Transform transform_
bool rebuild_
bool refresh_
float line_width_
unsigned int poly_mode_
bool aalines_flag_
float line_halo_
Material mat_
unsigned int mat_dlist_
bool mat_update_
float opacity_
float smoothf_
bool outline_flag_
int outline_mode_
boost::ptr_vector< gfx::ColorOpc_ops_
TextPrimList labels_
bool use_occlusion_

Detailed Description

See also:
gfx::Cuboid, Displaying Lines and Quads, gfx::Quad, Gradient Example, Random Lines

Definition at line 38 of file prim_list.hh.


Constructor & Destructor Documentation

PrimList ( const String name)

create new prim list


Member Function Documentation

void AddCyl ( const geom::Vec3 p0,
const geom::Vec3 p1,
float  r1,
float  r2,
const Color col1,
const Color col2 
)

add cylinder

Python interface:

PrimList.AddCyl(pos1,pos2,radius=1.0,radius1=1.0,radius2=1.0,color=gfx.WHITE,color1=gfx.WHITE,color2=gfx.WHITE)

void AddLine ( const geom::Vec3 p1,
const geom::Vec3 p2,
const Color col1,
const Color col2 
)

add line

Python interface:

PrimList.AddLine(pos1,pos2,color=gfx.WHITE,color1=gfx.WHITE,color2=gfx.WHITE)

void AddMesh ( float *  v,
float *  n,
float *  c,
size_t  nv,
unsigned int *  i,
size_t  ni 
)

add triangle mesh

v : pointer to nv*3 floats for the positions (mandatory) n : pointer to nv*3 floats for the normals (may be NULL) c : pointer to nv*4 floats for the colors (may be NULL) nv: number of vertices, normals, and colors i : pointer to ni*3 vertex indices ni: number of index triplets

Python interface, using numpy arrays:

AddMesh(vertex_array, normal_array, color_array, index_array)

where normal_array and color_array may be None

void AddPoint ( const geom::Vec3 p,
const Color col 
)

add point

python interface:

PrimList.AddPoint(pos, color=gfx.Color())

void AddSphere ( const geom::Vec3 cen,
float  rad,
const Color col 
)

add sphere

Python interface:

PrimList.AddSphere(cen,radius=1.0,color=gfx.WHITE)

void AddText ( const std::string &  text,
const geom::Vec3 pos,
const Color col,
float  point_size 
)

add text

Python interface:

PrimList.AddText(text,pos,color=gfx.WHITE,point_size=1.0)

void Clear ( )

clear all prims

Reimplemented from GfxObj.

virtual void CustomPreRenderGL ( bool  flag)
protectedvirtual

Reimplemented from GfxObj.

virtual void CustomRenderGL ( RenderPass  pass)
virtual

Reimplemented from GfxObj.

virtual void CustomRenderPov ( PovState pov)
virtual

Reimplemented from GfxObj.

unsigned int GetArcDetail ( ) const
inline

Definition at line 138 of file prim_list.hh.

virtual geom::AlignedCuboid GetBoundingBox ( ) const
virtual

returns the left-bottom-front and the right-top-back corner that encompasses all graphical elements in this object

the bounding box is in local coordinates. to obtain the coordinates in the scene, multiply the bounding box by the object's transformation matrix.

Reimplemented from GfxObj.

virtual geom::Vec3 GetCenter ( ) const
virtual

get center

Reimplemented from GfxObj.

unsigned int GetSphereDetail ( ) const
inline

Definition at line 135 of file prim_list.hh.

virtual void OnRenderModeChange ( )
virtual

Reimplemented from GfxObj.

virtual void ProcessLimits ( geom::Vec3 minc,
geom::Vec3 maxc,
const mol::Transform tf 
) const
virtual

adjust the given limits according to the represented data

Reimplemented from GfxObj.

void SetArcDetail ( unsigned int  d)
void SetColor ( const Color c)

set global prims color, overriding individual ones

void SetDiameter ( float  d)

defunct

void SetRadius ( float  r)

defunct

void SetSphereDetail ( unsigned int  d)

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