From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- .../nel/classNL3D_1_1CZoneSymmetrisation.html | 1009 ++++++++++++++++++++ 1 file changed, 1009 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1CZoneSymmetrisation.html (limited to 'docs/doxygen/nel/classNL3D_1_1CZoneSymmetrisation.html') diff --git a/docs/doxygen/nel/classNL3D_1_1CZoneSymmetrisation.html b/docs/doxygen/nel/classNL3D_1_1CZoneSymmetrisation.html new file mode 100644 index 00000000..9f17b6f3 --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1CZoneSymmetrisation.html @@ -0,0 +1,1009 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# Home   # nevrax.com   
+ + + + +
Nevrax
+ + + + + + + + + + +
+ + +
+ Nevrax.org
+ + + + + + + +
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
+
+ + +
+ + +
+Docs + +
+  + + + + + +
Documentation 
+ +
+Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  
+

NL3D::CZoneSymmetrisation Class Reference

Environnement used to symmetrise zones. +More... +

+#include <zone_symmetrisation.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  TState { Nothing = 0, +Regular = 1, +Goofy = 2 + }
 Symmetrie state. More...


Public Methods

 CZoneSymmetrisation ()
 Constructor. More...

TState getTileState (uint patch, uint tile, uint layer) const
 Get tile symmetry state Can return Regular, Goofy or Nothing. More...

TState getTileBorderState (uint patch, uint tile) const
 Get tile symmetry state Can return Regular, Goofy or Nothing. More...

TState getOrientedTileBorderState (uint patch, uint tile) const
 Get tile symmetry state for oriented tiles Can return Regular, Goofy or Nothing. More...

bool getOrientedTileCorner (uint patch, uint tile)
 Set oriented tile corner state. More...

bool build (const std::vector< CPatchInfo > &patchInfo, float snapCell, float weldThreshold, const CTileBank &bank, CError &errorDesc, const NLMISC::CMatrix &toOriginalSpace)
 Build symmetry informations. More...


Private Methods

bool propagateTileState (uint i, uint s, uint t, const std::vector< CPatchInfo > &patchInfo, const CTileBank &bank, bool forceRegular)
 Propagate tile state information for a given tile. More...

void setTileState (uint patch, uint tile, uint layer, TState state)
 Set orientedtile symmetry state. More...

void setTileBorderState (uint patch, uint tile, TState state)
 Set border tile symmetry state. More...

void setOrientedTileBorderState (uint patch, uint tile, TState state)
 Set border oriented tile symmetry state. More...

void setOrientedTileCorner (uint patch, uint tile, bool corner)
 Set oriented tile corner state. More...

bool setTileState (const NL3D::CPatchInfo &patch, uint patchId, float snapCell, float weldThreshold, TState &state, const NLMISC::CMatrix &toOriginalSpace, const CTileBank &bank)
 Set tile state of a patch. More...

bool setOrientedTileState (const NL3D::CPatchInfo &patch, uint patchId, float snapCell, float weldThreshold, TState &state, const NLMISC::CMatrix &toOriginalSpace, const CTileBank &bank)

Static Private Methods

bool snapOnGrid (float &value, float resolution, float snap)

Private Attributes

std::vector< std::vector<
+ uint16 > > 
_TilesLayerStates
+


Detailed Description

+Environnement used to symmetrise zones. +

+This class build symmetry specific informations needed to know how transform tiles when a zone is symmetrise. +

+There is two states for a tile : Regular or Goofy. If the tile is regular, it doesn't need specific transformation when the zone is symmetrise. If the tile is goofy, the tile must be rotate by 180° more to be correct. +

+

+Author:
+Cyril 'Hulud' Corvazier , Nevrax France
+Date:
+2002
+

+ +

+Definition at line 54 of file zone_symmetrisation.h.


Member Enumeration Documentation

+

+ + + + +
+ + +
enum NL3D::CZoneSymmetrisation::TState +
+
+ + + + + +
+   + + +

+Symmetrie state. +

+

+Enumeration values:
+ + + + +
Nothing  +
Regular  +
Goofy  +
+
+ +

+Definition at line 59 of file zone_symmetrisation.h. +

+Referenced by build, propagateTileState, setOrientedTileState, and setTileState.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CZoneSymmetrisation::CZoneSymmetrisation  
+
+ + + + + +
+   + + +

+Constructor. +

+ +

+Definition at line 39 of file zone_symmetrisation.cpp.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NL3D::CZoneSymmetrisation::build const std::vector< CPatchInfo > &   patchInfo,
float   snapCell,
float   weldThreshold,
const CTileBank  bank,
CError  errorDesc,
const NLMISC::CMatrix  toOriginalSpace
+
+ + + + + +
+   + + +

+Build symmetry informations. +

+

+Parameters:
+ + + + + + +
zone  +is the zone to build symmetry informations
snapCell  +is the unit size of the zones
weldThreshold  +is the threshold used to check vertex over snaped positions
errorDesc  +is a structure used to return errors
toOriginalSpace  +is the matrix used to transform back a vertex in its original position before symmetry / rotation
+
+Returns:
+false if the patch topology is invalid for this operations
+

+Definition at line 186 of file zone_symmetrisation.cpp. +

+References _TilesLayerStates, propagateTileState, s, setOrientedTileState, setTileState, t, and TState. +

+Referenced by NL3D::CPatchInfo::transform.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
CZoneSymmetrisation::TState NL3D::CZoneSymmetrisation::getOrientedTileBorderState uint   patch,
uint   tile
const
+
+ + + + + +
+   + + +

+Get tile symmetry state for oriented tiles Can return Regular, Goofy or Nothing. +

+ +

+Definition at line 72 of file zone_symmetrisation.cpp. +

+References getTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NL3D::CZoneSymmetrisation::getOrientedTileCorner uint   patch,
uint   tile
+
+ + + + + +
+   + + +

+Set oriented tile corner state. +

+ +

+Definition at line 79 of file zone_symmetrisation.cpp. +

+References _TilesLayerStates. +

+Referenced by propagateTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
CZoneSymmetrisation::TState NL3D::CZoneSymmetrisation::getTileBorderState uint   patch,
uint   tile
const
+
+ + + + + +
+   + + +

+Get tile symmetry state Can return Regular, Goofy or Nothing. +

+ +

+Definition at line 65 of file zone_symmetrisation.cpp. +

+References getTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
CZoneSymmetrisation::TState NL3D::CZoneSymmetrisation::getTileState uint   patch,
uint   tile,
uint   layer
const
+
+ + + + + +
+   + + +

+Get tile symmetry state Can return Regular, Goofy or Nothing. +

+ +

+Definition at line 57 of file zone_symmetrisation.cpp. +

+References _TilesLayerStates, and nlassert. +

+Referenced by getOrientedTileBorderState, getTileBorderState, propagateTileState, and NL3D::CPatchInfo::transform.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NL3D::CZoneSymmetrisation::propagateTileState uint   i,
uint   s,
uint   t,
const std::vector< CPatchInfo > &   patchInfo,
const CTileBank  bank,
bool   forceRegular
[private]
+
+ + + + + +
+   + + +

+Propagate tile state information for a given tile. +

+

+Parameters:
+ + + + + + + +
i  +is the patch number in the zone that contain the tile to propagate
u  +is the tile u coordinate in the patch
v  +is the tile v coordinate in the patch
patchInfo  +is a vector of patch information
bank  +is the tile bank used by the landscape
forceRegular  +must be true to force the first propagated tile to Regular if Nothing
+
+Returns:
+false if the patch topology is invalid for this operations true if succesful
+

+Definition at line 658 of file zone_symmetrisation.cpp. +

+References getOrientedTileCorner, getTileState, Goofy, NL_TILE_ELM_LAYER_EMPTY, nlassert, nlwarning, Nothing, Regular, s, setTileState, t, TState, and type. +

+Referenced by build.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CZoneSymmetrisation::setOrientedTileBorderState uint   patch,
uint   tile,
TState   state
[private]
+
+ + + + + +
+   + + +

+Set border oriented tile symmetry state. +

+ +

+Definition at line 102 of file zone_symmetrisation.cpp. +

+References setTileState. +

+Referenced by setOrientedTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CZoneSymmetrisation::setOrientedTileCorner uint   patch,
uint   tile,
bool   corner
[private]
+
+ + + + + +
+   + + +

+Set oriented tile corner state. +

+ +

+Definition at line 109 of file zone_symmetrisation.cpp. +

+References _TilesLayerStates. +

+Referenced by setOrientedTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NL3D::CZoneSymmetrisation::setOrientedTileState const NL3D::CPatchInfo  patch,
uint   patchId,
float   snapCell,
float   weldThreshold,
TState  state,
const NLMISC::CMatrix  toOriginalSpace,
const CTileBank  bank
[private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 466 of file zone_symmetrisation.cpp. +

+References Goofy, NL_TILE_ELM_LAYER_EMPTY, Nothing, NL3D::CPatchInfo::OrderS, NL3D::CPatchInfo::OrderT, NL3D::CPatchInfo::Patch, Regular, setOrientedTileBorderState, setOrientedTileCorner, setTileState, snapOnGrid, NL3D::CPatchInfo::Tiles, TState, and type. +

+Referenced by build.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CZoneSymmetrisation::setTileBorderState uint   patch,
uint   tile,
TState   state
[private]
+
+ + + + + +
+   + + +

+Set border tile symmetry state. +

+ +

+Definition at line 95 of file zone_symmetrisation.cpp. +

+References setTileState. +

+Referenced by setTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool NL3D::CZoneSymmetrisation::setTileState const NL3D::CPatchInfo  patch,
uint   patchId,
float   snapCell,
float   weldThreshold,
TState  state,
const NLMISC::CMatrix  toOriginalSpace,
const CTileBank  bank
[private]
+
+ + + + + +
+   + + +

+Set tile state of a patch. +

+ +

+Definition at line 312 of file zone_symmetrisation.cpp. +

+References Goofy, NL_TILE_ELM_LAYER_EMPTY, Nothing, NL3D::CPatchInfo::OrderS, NL3D::CPatchInfo::OrderT, NL3D::CPatchInfo::Patch, Regular, setTileBorderState, setTileState, snapOnGrid, NL3D::CPatchInfo::Tiles, TState, and type.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CZoneSymmetrisation::setTileState uint   patch,
uint   tile,
uint   layer,
TState   state
[private]
+
+ + + + + +
+   + + +

+Set orientedtile symmetry state. +

+ +

+Definition at line 86 of file zone_symmetrisation.cpp. +

+References _TilesLayerStates. +

+Referenced by build, propagateTileState, setOrientedTileBorderState, setOrientedTileState, setTileBorderState, and setTileState.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
bool NL3D::CZoneSymmetrisation::snapOnGrid float &   value,
float   resolution,
float   snap
[static, private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 280 of file zone_symmetrisation.cpp. +

+References nlassert, and value. +

+Referenced by setOrientedTileState, and setTileState.

+


Member Data Documentation

+

+ + + + +
+ + +
std::vector<std::vector<uint16> > NL3D::CZoneSymmetrisation::_TilesLayerStates [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 158 of file zone_symmetrisation.h. +

+Referenced by build, getOrientedTileCorner, getTileState, setOrientedTileCorner, and setTileState.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1