/[gled]/trunk/libsets/Var1/Glasses/TriMesh.cxx
ViewVC logotype

Log of /trunk/libsets/Var1/Glasses/TriMesh.cxx

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 2548 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 10 07:03:57 2011 UTC (19 months, 1 week ago) by matevz
File length: 50791 byte(s)
Diff to previous 2547
Skeleton code for HTriMesh drawing via Planetes glass.


libsets/Var1
============

	* Glasses/Planetes.cxx:
	* Glasses/Planetes.h:
	* Rnr/GL/Planetes_GL_Rnr.cxx:
	* Rnr/GL/Planetes_GL_Rnr.h:
	New files - a planet using HTriMesh for terrain representation.

	* Glasses/Extendio.cxx:
	Use display-lists by default.

	* Glasses/HTriMesh.cxx:
	* Glasses/HTriMesh.h:
	Remove mDrawLevel - it belongs into the representation glass.
	Add mMaxLevel memeber.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add function NormalizeVertices().

	* Rnr/GL/Extendio_GL_Rnr.cxx:
	* Rnr/GL/Extendio_GL_Rnr.h:
	Beautify.

	* glass.list:
	Register new glass Planetes.


demos/Var1
==========

	* spherula.C:
	Add HTriMesh and Planetes.


Revision 2547 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 9 05:49:51 2011 UTC (19 months, 1 week ago) by matevz
File length: 50517 byte(s)
Diff to previous 2513
Basic implementation of hierarhically subdivided mesh.

	* Glasses/HTriMesh.cxx:
	* Glasses/HTriMesh.h:
	New glass - hierarhically sub-divided mesh.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Rename inner struct xx_edge to Edge.
	Add fill_edge_map() method and a static version working on raw
	arrays.

	* glass.list:
	Register HTriMesh.


Revision 2513 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 29 03:24:45 2011 UTC (20 months, 3 weeks ago) by matevz
File length: 50153 byte(s)
Diff to previous 2449
Add icosahedral world support as a first step towards hierarhical triangulation.

libsets/Var1
============

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add functions MakeIcosahedron() and ScaleVertices().
	Always use Int_t for triangle indices on gled side, cast to UInt_t
	when passing them to Opcode.
	Some gray and white space changes.

	* Glasses/Tringula.cxx:
	place_on_terrain(): better initialization of min_dist.

	* Glasses/TringulaTester.cxx:
	Add identifiers to printout.

	* Glasses/TriMeshField.cxx:
	* Rnr/GL/LandMark_GL_Rnr.cxx:
	Use Int_t for triangle indices on gled side.

demos/Var1
==========

	* spherula.C:
	Add an icosahedron into scene (created by TriMesh directly).

	* tringula.C:
	Add world on an icosahedron, mode 98.


Revision 2449 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 18 20:06:14 2010 UTC (2 years, 8 months ago) by matevz
File length: 48793 byte(s)
Diff to previous 2447
Randomly colorize statos.

libsets/Var1
============

	* Glasses/TriMesh.cxx:
	In MakeBox() do not generate triangle colors, use underlaying
	color of object using the mesh.

demos/Var1
==========

	* tringula.C:
	Randomly colorize staticos with witish colors.


Revision 2447 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 14 21:24:23 2010 UTC (2 years, 8 months ago) by matevz
File length: 48838 byte(s)
Diff to previous 2379
In ImportGTSurf() do not automatically generate vertex and
triangle normals.


Revision 2379 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 26 20:38:45 2010 UTC (2 years, 11 months ago) by matevz
File length: 48904 byte(s)
Diff to previous 2325
Add support for per-triangle texture coordinates.

Geom1/
======

	* Stones/TringTvor.cxx:
	* Stones/TringTvor.h:
	Introduce mode enum (per-vertex, per-triangle) and use it for
	normals, color and texture.
	Modify constructors and Reset() functions to support that.
	Add functions for per-triangle texture handling.

	* Rnr/GL/TringTvor_GL_Rnr.cxx:
	* Rnr/GL/TringTvor_GL_Rnr.h:
	Restructure to support all possible per-vertex / per-triangle
	combinations of normal, color and texture rendering.
	The setup pass is now well structured (BeginSetup(), do stuff,
	EndSetup()) and the state is cached indata members.

	* Glasses/RectTerrain.cxx:
	Adapt for new TringTvor rendering.


Var1/
=====

	* Glasses/Extendio.cxx:
	* Glasses/Extendio.h:
	Add data-member ZLink<ZImage> mTexture.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add function ImportOoliteDAT() that imports Oolite models.

	* Glasses/TringuRep.h:
	Smooth shading requires retriangulation.

	* Rnr/GL/Extendio_GL_Rnr.cxx:
	* Rnr/GL/Extendio_GL_Rnr.h:
	Cache bounding-box rendering state in a data-member.
	Adapt for new TringTvor rendering.

	* Rnr/GL/TringuRep_GL_Rnr.cxx:
	* Rnr/GL/TringuRep_GL_Rnr.h:
	Keep TringTvor_GL_Rnr instance to avoid setup overhead.
	Adapt for new TringTvor rendering.


Revision 2325 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 7 22:45:36 2010 UTC (3 years, 4 months ago) by matevz
File length: 45704 byte(s)
Diff to previous 2294
Code stucture improvements.

Migrate selection into TSPupilInfo.
Replace most Opcode defines with const variables.


libsets/Geom1
=============

	* Rnr/GL/TringTvor_GL_Rnr.cxx:
	* Rnr/GL/TringTvor_GL_Rnr.h:
	Add static function RenderCEBBox() (moved in from Extendio_GL_Rnr).


libsets/Var1
============

	* Glasses/Extendio.cxx:
	* Glasses/Extendio.h:
	Remove obsolete members bRnrSelf, bVerboseCollide and bSelected.
	Add debug-bits enum, data-member and access methods.

	* Glasses/Crawler.cxx:
	* Glasses/Flyer.cxx:
	Use debug-bits from extendio.

	* Glasses/TSPupilInfo.cxx:
	* Glasses/TSPupilInfo.h:
	Add selection management (moved in from TringuCam).
	Add member mSelectionColor.

	* Glasses/TringuCam.cxx:
	* Glasses/TringuCam.h:
	Move selection managememt to TSPupilInfo.

	* Glasses/TringuRep.cxx:
	* Glasses/TringuRep.h:
	Add link to TSPupilInfo - needed for selection display.

	* Glasses/Tringula.cxx:
	* Glasses/Tringula.h:
	Remove member mSelColor.

	* Rnr/GL/Extendio_GL_Rnr.cxx:
	* Rnr/GL/Extendio_GL_Rnr.h:
	Move render_ceaabox() to TringTvor_GL_Rnr.
	Remove code for rendering boxes around selected extendios - this
	is now done by TringuRep_GL_Rnr.

	* Rnr/GL/TringuRep_GL_Rnr.cxx:
	Render boxes around selected extendios.

	* Opcode/Ice/IcePoint.h:
	Remove unused define.

	* Opcode/Ice/IceTypes.h:
	Replace defines with const variables in Opcode namespace.

	* Glasses/Dynamico.cxx:
	* Glasses/PSTriangle.cxx:
	* Glasses/TriMesh.cxx:
	* Glasses/TriMeshField.cxx:
	* Rnr/GL/LandMark_GL_Rnr.cxx:
	Opcode defines are now namespace variables.


demos/Var1
==========

	* tringula.C:
	Set PupilInfo link of TringuRep.


Revision 2294 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 22 21:06:53 2009 UTC (3 years, 4 months ago) by matevz
File length: 45680 byte(s)
Diff to previous 2256
Major update of Tringula rendering / management.


libsets/Geom1
=============

	* Stones/TringTvor.cxx:
	* Stones/TringTvor.h:
	Add variants of GenerateTriangleColorsFromVertexColors() functions
	that take external vertex/triangle color arrays as arguments.

	* Rnr/GL/TringTvor_GL_Rnr.cxx:
	* Rnr/GL/TringTvor_GL_Rnr.h:
	Implement also as a class. It is now possible to attach external
	color arrays into the rendering pipeline.
	It is trivial to extend this for textures, too.

	Improve the static do-it-all function.

	* Rnr/GL/RectTerrain_GL_Rnr.cxx:
	* Rnr/GL/RectTerrain_GL_Rnr.h:
	Use the new TringTvor rendering code.


libsets/Var1
============

	* Glasses/CrawlerSpiritio.cxx:
	Attach to TringuRep on activation -- Tringula is not in render
	path anymore.

	* Glasses/TSPupilInfo.cxx:
	* Glasses/TSPupilInfo.h:
	Add link to TringuRep.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add abstract interace TriMeshColorArraySource.
	Subclass from it.
	Allow external color-array-source to be passed into
	ColorBySomeTerrainProp(). These should really go to TriMeshField.

	* Glasses/TriMeshField.cxx:
	* Glasses/TriMeshField.h:
	* Glasses/TriMeshLightField.cxx:
	* Glasses/TriMeshLightField.h:
	Add link to ZGlass that plays the role of TriMeshColorArraySource.
	Use it when colorizing/modulating color arrays.
	Beautify most of the code.

	* Glasses/TringuCam.cxx:
	* Glasses/TringuCam.h:
	Remove all field / field-spraying code and code for colorization
	of terrain based on its height/normal -- moved to TringuRep.

	* Glasses/TringuRep.cxx:
	* Glasses/TringuRep.h:
	Subclass from TriMeshColorArraySource.
	Move in code for managing fields / terrain coloration from TringuCam.

	* Glasses/Tringula.cxx:
	* Glasses/Tringula.h:
	Remove some obsolete members for rendering control.

	* Rnr/GL/TringuRep_GL_Rnr.cxx:
	* Rnr/GL/TringuRep_GL_Rnr.h:
	Render tringula with tringu-rep's internal color arrays. New
	TRingTvor renderer allows that.

	Render all extendios by direct calls to RnrDriver. This could be
	improved -- see comments in the code.

	* Rnr/GL/Tringula_GL_Rnr.cxx:
	Simplify -- now mostly obsolete. Probably should be even removed.


demos/Var1
==========

	* tringula.C:
	Use TringuRep as primary/only representation of Tringula.
	Add buttons to switch shadows and flat/smooth shading to
	terrain-control menu.
	Increase initial pupil window size to 1024x768.


Revision 2256 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 21 23:24:25 2009 UTC (3 years, 5 months ago) by matevz
File length: 43180 byte(s)
Diff to previous 2199
Incarnate proto Spiritios.

So far only activated in tringula test mode. Only very basic functionality -
controls work but the Crawlers do not obey them.


gled-build
==========

	* libexec/project7.pl:
	Make assert_linkname return the pointer the lens pointed
	to (auto-generated via L{a} pragma).


libsets/GledCore
================

	* Eye/OptoStructs.cxx:
	* Eye/OptoStructs.h:
	Add function ZGlassImg::DumpLinkData() to simplify debugging of
	registered link data.

	* Glasses/PupilInfo.cxx:
	* Glasses/PupilInfo.h:
	Use L{f} pragma for links mOverlay and mEventHandler. Thus
	sub-classes can restrict the FID of assigned lenses.

	Add local members holding last-render (cam-fix-trans, true window
	widt and height) and last-event (mouse pos, ray vectors defined by
	the mouse position) info. These are copied in by the
	PupilInfo_GL_Rnr.

	* Glasses/ZGlPerspective.cxx:
	* Glasses/ZGlPerspective.h:
	Add new ViewMode_e entry, VM_OrthoTrueAspect, to make it easy to
	define "square" coordinate systems (where unit in horizontal and
	vertical direction has the same lenght). Add function:
	  void StandardTrueAspect(); // X{E}
	to make it easy to setup.

	* Glasses/ZHashList.cxx:
	* Glasses/ZHashList.h:
	Add functions:
	  virtual void MoveToFront(ZGlass* lens); // X{E} C{1}
	  virtual void MoveToBack (ZGlass* lens); // X{E} C{1}
	They allow easy movement of lenses in the list.

	Improve some element handling functions (don't use unnecessary
	temporary iterators.).

	Beautify layout.

	* Glasses/ZNameMap.cxx:
	Improve class-docs.

	* Glasses/ZNode.cxx:
	* Glasses/ZNode.h:
	Add function:
	  void AddRnrMod(ZGlass* el); // X{E} C{1}
	to simplify adding of a rnr-mod.

	* Gled/GTime.h:
	Add version of ToMiliSec() taking max-time argument:
	  ULong_t ToMiliSec(Long_t max);

	* Gled/GledNS.cxx:
	* Gled/GledTypes.h:
	Add Exc_t operator+(const Exc_t &s1, char c).

	* Pupils/Pupil.cxx:
	* Pupils/Pupil.h:
	Call PupilInfo_GL_Rnr::InitRendering() at the start of Render().

	Call RnrDriver::PreEventHandling() and PupilInfo_GL_Rnr::Hanlde()
	before doing any other event handling.

	Beautify layout.

	* Rnr/GL/GLRnrDriver.cxx:
	* Rnr/GL/GLRnrDriver.h:
	Add:
	  void  PreEventHandling(A_Rnr::Fl_Event& e)
	that copies some event data into local variables.

	Add members to store position of mouse, positions at last button
	press for each button, last drag dx/dy and mouse ray vectors.

	* Rnr/GL/PupilInfo_GL_Rnr.cxx:
	* Rnr/GL/PupilInfo_GL_Rnr.h:
	Add:
	  virtual void InitRendering(RnrDriver* rd);
	  virtual int  Handle(RnrDriver* rd, Fl_Event& ev);
	They copy some data to the lens side.

	* Rnr/GL/ZGlPerspective_GL_Rnr.cxx:
	* Rnr/GL/ZGlPerspective_GL_Rnr.h:
	Add handling of view-mode VM_OrthoTrueAspect.

	* Rnr/GL/ZGlass_GL_Rnr.cxx:
	Bug-fix in passing event to list elements (extra ; after if).

	* RnrBase/A_Rnr.h:
	Add bool fIsKey to A_Rnr::Fl_Event.

	* Stones/SVars.h:
	SDesireVar: add methods DesireToValue(), IsAbove/BelowDesire().

	Make mDesire and bDesireSatisfied mutable to achieve const
	correctness.

	* perllib/GLED_GledCore_Widgets.pm:
	Add sub make_step() to package Widget - it calls only
	Fl_Valuator::step(), assuming min/max are set from elsewhere.

	Use this in Widgets::DesireVar - min/max are stored in the SVar.


libsets/Var1
============

	* Glasses/Crawler.cxx:
	* Glasses/Crawler.h:
	Move in desire-vars mThrottle and mWheel from deceased XXXCart.

	* Glasses/Extendio.cxx:
	* Glasses/Extendio.h:
	Proper implementation of ctor and dtor.

	* Glasses/TriMesh.cxx:
	Bugfix: calls to make_tetra_blade() were assuming left-to-right
	evaluation of function arguments.

	* Glasses/TringuCam.cxx:
	* Glasses/TringuCam.h:
	Move some menu-handling links and functions into new glass
	TSPupilInfo.

	Add semi-functional DynoDrive(Dynamico* dyno).

	* catalog.patch:
	Add entries for new glass Spiritio and new stone-file KeyHandling.

	* glass.list:
	Register a bunch of new glasses, see below.
	Remove XXXCart, TabletReader and TabletImage.
	Change glass numbering -- rather drastically.

	* Glasses/TSPupilInfo.cxx:
	* Glasses/TSPupilInfo.h:
	* Rnr/GL/TSPupilInfo_GL_Rnr.cxx:
	* Rnr/GL/TSPupilInfo_GL_Rnr.h:
	New glass - Tringu-Sol PupilInfo.
	Provides handling of stuff connected with a GL window.
	Holds lists of overlay-elements, event-handlers and spiritios.
	Provides top menu management (taken out of TringuCam).

	* Glasses/Spiritio.cxx:
	* Glasses/Spiritio.h:
	* Glasses/ExtendioSpiritio.cxx:
	* Glasses/ExtendioSpiritio.h:
	* Glasses/CrawlerSpiritio.cxx:
	* Glasses/CrawlerSpiritio.h:
	* Rnr/GL/Spiritio_GL_Rnr.cxx:
	* Rnr/GL/Spiritio_GL_Rnr.h:
	* Rnr/GL/CrawlerSpiritio_GL_Rnr.cxx:
	* Rnr/GL/CrawlerSpiritio_GL_Rnr.h:
	Preliminary implementation of Spiritio and its proto-incarnation
	in CrawlerSpiritio.

	* Glasses/TringuObserver.cxx:
	* Glasses/TringuObserver.h:
	* Glasses/TringuObserverSpiritio.cxx:
	* Glasses/TringuObserverSpiritio.h:
	* Rnr/GL/TringuObserverSpiritio_GL_Rnr.cxx:
	* Rnr/GL/TringuObserverSpiritio_GL_Rnr.h:
	Conglomerat of new glasses/rnrs that is to take over currently
	default "fly-over-tringula-and-do-fun-stuff" mode.
	Some of the stuff in TringCam will be moved here.

	* Stones/KeyHandling.cxx:
	* Stones/KeyHandling.h:
	New file holding multiple stones in namespace KeyHandling.
	Key-handling structures for lens and rnr side, including
	callbacks into lens methods.

	* Glasses/XXXCart.cxx:
	* Glasses/XXXCart.h:
	Removed -- functionality moved into Crawler.

	* Glasses/TabletImage.cxx:
	* Glasses/TabletImage.h:
	* Glasses/TabletReader.cxx:
	* Glasses/TabletReader.h:
	* Rnr/GL/TabletImage_GL_Rnr.cxx:
	* Rnr/GL/TabletImage_GL_Rnr.h:
	Removed -- never really implemented.


demos/Var1
==========

	* tringula.C:
	Changes for Spiritio handling. So far only activated in test mode.
	Only very basic functionality - controls work but the Crawlers do
	not obey them.


Revision 2199 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 13 21:35:36 2009 UTC (4 years ago) by matevz
File length: 43120 byte(s)
Diff to previous 2196
Add some comments.


Revision 2196 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 10 19:40:40 2009 UTC (4 years ago) by matevz
File length: 42906 byte(s)
Diff to previous 2195
Implement terrain-tracking for land-mark perimeter line.

	There is an issue with Int_t/UInt_t triangle indices - Opcode uses
	UInt_t, TringTvor Int_t. Need to see how hierarhical tringula will
	be implemented.

	Had another creepy idea - to use doubles everywhere - in TriMesh and
	in Opcode. This requires more memory, but allows to run a large
	planet on a single tringula! Memory could be regained completely by
	quantizing the vertex and triangle normals into shorts.
	Anyway, could start with making a type-defed Opcode and
	templating the TriMesh.

	* Glasses/Crawler.cxx:
	Use closest-hit instead of first-contact for terrain tracking.

	* Glasses/LandMark.cxx:
	* Glasses/LandMark.h:
	Add members for controlling how the perimeter-line of the
	land-mark region gets calculated and rendered:
	  Float_t mLineHeight    - height above terrain;
	  Int_t   mNLineSegments - number of main-divisions;
	  Bool_t  bDetailedLine  - sub-divide on triangle-crossing;
	  Bool_t  bRnrIdealLine  - render also line that is not projected on terrain.

	Consolidate stamping calls.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add function Bool_t FindPointFromXYZH(...) - it determines the
	vertical vector at given position and returns point at given
	relative height above the terrain.

	Add function Bool_t FindTriangleExitPoint(...) - given a point
	(presumably within the triangle) and direction, determine the
	exit-point of line determined by input data.

	Consolidate all triangle query functions to use UInt_t. This is a
	bit weak - but is requirement from Opcode. Needs to be revisited,
	and maybe changed in Opcode as well.

	* Glasses/TriMeshField.cxx:
	Use UInt_t for triangle queries.

	* Glasses/TringuCam.cxx:
	In MakeLandmark activated, only store previous mouse-action if
	not already in 
	* Glasses/Tringula.cxx:

	* Rnr/GL/LandMark_GL_Rnr.cxx:
	* Rnr/GL/LandMark_GL_Rnr.h:
	Add code for almost correct tracing of land-mark region over
	terrain triangles.

	Activate PostDraw() - the land-line is calculated in parent's
	coordinate frame. The points are calculated during Render() and
	stored in member-vector. As display-lists are used for LandMark,
	this vector is only regenerated when required.

	* Rnr/GL/TringuCam_GL_Rnr.cxx:
	Define PARENT class.

	* Stones/HTrans.h:
	Add explicit PtrPAseVecX/Y/Z() and ref_base_vec_x/y/z() methods.

	* Opcode/OPC_RayCollider.cpp:
	Allow temporal coherence to be used also when not in first-contact mode.
	White-space changes.

	* Opcode/OPC_Collider.h:
	White-space.


Revision 2195 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 1 17:57:20 2009 UTC (4 years ago) by matevz
File length: 36553 byte(s)
Diff to previous 2190
Consolidate mesh-ray collider error reporting.

	* Glasses/Crawler.cxx:
	* Glasses/Flyer.cxx:
	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	* Glasses/TriMeshLightField.cxx:
	* Glasses/Tringula.cxx:
	Use RayCollider::CollideInfo() to format error messages.

	* Opcode/OPC_RayCollider.cpp:
	* Opcode/OPC_RayCollider.h:
	Add function 'string CollideInfo()'.

	* Opcode/Opcode.h:
	Correctly include C-headers.


Revision 2190 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 19 19:28:24 2009 UTC (4 years, 1 month ago) by matevz
File length: 36891 byte(s)
Diff to previous 2132
Basic support for land-mark management and rendering.

libsets/Var1
============

	* Glasses/LandMark.cxx:
	* Glasses/LandMark.h:
	Add members:
	  Float_t mPhi, mSx, mSy; // rotation, size in x/y dirextion;
	  ZColor  mColor;         // Color of the land-mark and markup.
	Enable usage of display-lists by default.
	Add method 'SetFGH(...)'.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add method 'MakeTetraMark(...)' that generates mesh for a
	land-mark.

	* Glasses/TringuCam.cxx:
	* Glasses/TringuCam.h:
	Add land-mark handling (events, new state for expecting
	terrain-click).
	Add method RandomStatico().

	* Glasses/Tringula.cxx:
	* Glasses/Tringula.h:
	Add data-member 'ZLink<ZHashList> mLandMarks>'.
	Add function 'AddLandMark()'.

	* Rnr/GL/Extendio_GL_Rnr.cxx:
	* Rnr/GL/Extendio_GL_Rnr.h:

	* Rnr/GL/LandMark_GL_Rnr.cxx:
	* Rnr/GL/LandMark_GL_Rnr.h:
	New files - GL renderer for LandMark.

	* glass.list:
	LandMark has its own renderer class.

demos/Var1
==========

	* tringula.C:
	Generate land-mark mesh.
	Add Test-Menu (entries "Rnd Statos", "New LandMark").
	Add LandMark sub-menu.


Revision 2132 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 8 18:48:02 2009 UTC (4 years, 3 months ago) by matevz
File length: 36030 byte(s)
Diff to previous 2122
Remove ancient debug printout.


Revision 2122 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 18 14:38:10 2009 UTC (4 years, 4 months ago) by matevz
File length: 36152 byte(s)
Diff to previous 2117
libsets/Geom1
=============

	* Stones/TringTvor.cxx:
	* Stones/TringTvor.h:
	Add members:
	  Float_t mMinEdgeLen, mMaxEdgeLen;
	and calculate them in CalculateBoundingBox().

	Add functions:
	  Float_t SqrLen(const Float_t a[3], const Float_t b[3]);
	  void    SqrMinMaxEdgeLen(Int_t ti, Float_t& min, Float_t& max);


libsets/Var1
============

	* Glasses/Crawler.cxx:
	* Glasses/Crawler.h:
	Rewrite time-step code to use full velocity and angular velocity
	vectors. Also, cache gravity-data as long as it is valid.

	Add member 'Float_t mRayOffset' that allows us to reuse
	gravity-data from the previous step.

	* Glasses/Dynamico.cxx:
	* Glasses/Dynamico.h:
	Add function:
	  void update_grav_safeties(Float_t vl, Float_t vt);
	that is common to flyers and crawlers.

	* Glasses/Flyer.cxx:
	Move code for gravity safety calculation to Dynamico.

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add member 'HPointF mSection' that holds side-view areas of the mesh.
	Calculate it in SetMassAndSpeculate().

	* Stones/HTrans.h:
	Add function Zero().

	* Opcode/Ice/IcePoint.h:
	Add static functions:
	  float MaxDistance(const Point& a, const Point& b, const Point& c);
	  float MaxSquareDistance(const Point& a, const Point& b, const Point& c);


Revision 2117 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 29 12:41:59 2008 UTC (4 years, 4 months ago) by matevz
File length: 35445 byte(s)
Diff to previous 2088
libsets/Geom1
=============

	* Glasses/TriMesh.cxx:
	* Glasses/TriMesh.h:
	Add function extrude_triangle().
	Add function make_tetra_blade() for creation of individual
	tetrahedrons.
	Add function MakeTetraChopper() to create a dragon-fly like flyer.
	
	* Glasses/Tringula.cxx:
	* Glasses/Tringula.h:
	Add function RandomChopper().


libsets/Var1
============

	* Stones/TringTvor.cxx:
	* Stones/TringTvor.h:
	Add functions AddVertices(Int_t nv) and AddTriangles(Int_t
	nt). They allow the tvor to be extended with new vertices and
	triangles.

	Add functions:
	  Float_t CalculateTriangleNormal(Int_t ti, Float_t normal[3])
	  Float_t CalculateTriangleNormalAndCog(Int_t ti, Float_t normal[3], Float_t cog[3]);
	that simplify some calculations.


demos/Var1
==========

	* tringula.C:
	Add some choppers.


Revision 2088 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 23 20:26:46 2008 UTC (4 years, 5 months ago) by matevz
File length: 32116 byte(s)
Diff to previous 2049
Replace svn:keywords with Id, on all files that had it set before.

On all files with svn:keywords set, replace $Header$ with $Id$. Header
is not supported by svn.

Make sure all ClassDefs/Imps() end with an ';'.


Revision 2049 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 27 11:27:50 2008 UTC (4 years, 7 months ago) by matevz
File length: 32120 byte(s)
Diff to previous 1978
Moving libset Var1 into libsets directory.


Revision 1978 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 23 17:53:58 2008 UTC (4 years, 9 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 32120 byte(s)
Diff to previous 1944
Fixes for gcc-4.3.


Revision 1944 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 17 07:32:58 2008 UTC (4 years, 11 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 32084 byte(s)
Diff to previous 1939
Add inner public structure VertexVisitor (and its sub-class
VertexVisitorMaxDist) that together with a new member-function
VisitVertices() allow for somewhat painless interation over
vertices with custom acceptance condition and operation performed
for each vertex.


Revision 1939 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 26 11:45:36 2008 UTC (4 years, 11 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 29931 byte(s)
Diff to previous 1928
Added functions:
Bool_t FindPointFromFGH(const Float_t fgh[3], ...);
Int_t  FindClosestVertex(Int_t triangle, const Float_t xyz[3],...);


Revision 1928 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 24 18:59:39 2008 UTC (4 years, 11 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 26898 byte(s)
Diff to previous 1867
Moved functions ColorByCoord/Normal[Formula] from Tringula to
TriMesh.
Added functions ColorByParaSurfCoord/Normal to TriMesh.
Removed link-member RGBAPalette from Tringula.


Revision 1867 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 6 16:37:37 2008 UTC (5 years, 1 month ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 21358 byte(s)
Diff to previous 1864
Extend copyright to 2008. Remove trailing white-space.


Revision 1864 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 1 19:40:06 2008 UTC (5 years, 1 month ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 21353 byte(s)
Diff to previous 1843
Add method SetMassFromBBox(): allows easy faking of mesh's mass
based on bounding box and surface / height fractions.


Revision 1843 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 24 19:32:56 2008 UTC (5 years, 1 month ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 20949 byte(s)
Diff to previous 1815
Add preliminary members for mass, surface, center-of-mass and
angular momentum.
Add function SetMassAndSpeculate() that allows setting of mass and
calculation of derived quantities by assuming certain fraction of
mass is on the shell and the rest is in the COM.


Revision 1815 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 28 19:53:21 2008 UTC (5 years, 3 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 17458 byte(s)
Diff to previous 1796
BuildOpcStructs(): throw an exception if build fails.


Revision 1796 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 23 20:31:41 2008 UTC (5 years, 3 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 17473 byte(s)
Diff to previous 1772
Added convenience functions for creation of simple meshes, like
MakeBox() and MakeTetraFlyer().
Added data-members 'Float_t mVolume, mXYArea'.


Revision 1772 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 16 13:20:08 2007 UTC (5 years, 9 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 14561 byte(s)
Diff to previous 1701
Reimplemented VertexData and introduced EdgeData structure; now vertices sharing an edge point to the same data.


Revision 1701 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 30 08:56:56 2007 UTC (6 years, 1 month ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 14793 byte(s)
Diff to previous 1665
Changes for root-5-15-04 (increased modularity).


Revision 1665 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 13 11:54:08 2007 UTC (6 years, 3 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 14773 byte(s)
Diff to previous 1630
Added per-vertex spread and surface (summed by edge); canonization of interface.


Revision 1630 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 9 18:08:11 2007 UTC (6 years, 4 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 13664 byte(s)
Diff to previous 1598
Added structures to hold vertex-connectivity data and method to build them.


Revision 1598 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 30 12:04:31 2006 UTC (6 years, 5 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 8695 byte(s)
Diff to previous 1586
Added support for aa-bbox calculation.


Revision 1586 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 13 19:20:37 2006 UTC (6 years, 6 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 7971 byte(s)
Diff to previous 1581
Added missing includes (not needed with pre-compiled headers).


Revision 1581 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 13 18:19:09 2006 UTC (6 years, 6 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 7953 byte(s)
Diff to previous 1578
Add a cast to avoid warning on 64-bits.


Revision 1578 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 12 20:12:23 2006 UTC (6 years, 6 months ago) by matevz
Original Path: trunk/Var1/Glasses/TriMesh.cxx
File length: 7948 byte(s)
Copied from: branches/gled-org/Var1/Glasses/TriMesh.cxx revision 1577
Diff to previous 1577
This commit was generated by cvs2svn to compensate for changes in r1577,
which included commits to RCS files with non-trunk default branches.


Revision 1577 - (view) (download) (annotate) - [select for diffs]
Added Sun Nov 12 20:12:23 2006 UTC (6 years, 6 months ago) by matevz
Original Path: branches/gled-org/Var1/Glasses/TriMesh.cxx
File length: 7948 byte(s)
Initial import.


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

cvs-admin@gled.org
ViewVC Help
Powered by ViewVC 1.1.11