HOG2
Classes | Namespaces | Typedefs | Functions
RubiksCubeEdges.h File Reference
#include <iostream>
#include <stdint.h>
#include <vector>
#include "SearchEnvironment.h"
#include "PDBHeuristic.h"
#include "MR1Permutation.h"
Include dependency graph for RubiksCubeEdges.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  RubikEdgeStateBits
 
class  RubikEdgeStateArray
 
struct  std::hash< RubikEdgeStateBits >
 
struct  std::hash< RubikEdgeStateArray >
 
class  RubikEdgeMove
 
class  RubikEdge
 
class  RubikEdgePDB
 
class  RubikEdgeOrientationPDB
 

Namespaces

 std
 

Typedefs

typedef RubikEdgeStateArray RubikEdgeState
 
typedef int RubikEdgeAction
 

Functions

RubikEdgeState RotateRubikEdgeClockwise (const RubikEdgeState &in, int step)
 Implementation details: More...
 
static bool operator== (const RubikEdgeStateBits &l1, const RubikEdgeStateBits &l2)
 
static bool operator== (const RubikEdgeStateArray &l1, const RubikEdgeStateArray &l2)
 
static std::ostream & operator<< (std::ostream &out, const RubikEdgeStateArray &s)
 
static std::ostream & operator<< (std::ostream &out, const RubikEdgeStateBits &s)
 

Typedef Documentation

◆ RubikEdgeAction

typedef int RubikEdgeAction

Definition at line 116 of file RubiksCubeEdges.h.

◆ RubikEdgeState

Definition at line 56 of file RubiksCubeEdges.h.

Function Documentation

◆ operator<<() [1/2]

static std::ostream& operator<< ( std::ostream &  out,
const RubikEdgeStateArray s 
)
static

◆ operator<<() [2/2]

static std::ostream& operator<< ( std::ostream &  out,
const RubikEdgeStateBits s 
)
static

◆ operator==() [1/2]

static bool operator== ( const RubikEdgeStateArray l1,
const RubikEdgeStateArray l2 
)
static

Definition at line 65 of file RubiksCubeEdges.h.

References RubikEdgeStateArray::state.

◆ operator==() [2/2]

static bool operator== ( const RubikEdgeStateBits l1,
const RubikEdgeStateBits l2 
)
static

Definition at line 60 of file RubiksCubeEdges.h.

References RubikEdgeStateBits::state.

◆ RotateRubikEdgeClockwise()

RubikEdgeState RotateRubikEdgeClockwise ( const RubikEdgeState in,
int  step 
)

Implementation details:

This just implements the 12 Edges. Corners are labeled from 0...11 as follows

+—6—+ |\ \ | 0 4 7 ___2___\ | | | \ 1 3 8 | | |___9___|

+—6—+ | |\ | | 4 7 5 \ |___11__| | \ \ 3 8 10 | ___9___|

Definition at line 43 of file RubiksCubeEdges.cpp.

References RubikEdgeStateArray::FlipCubeOrientation(), RubikEdgeStateArray::GetCubeInLoc(), RubikEdgeStateArray::GetCubeOrientation(), RubikEdgeStateArray::SetCubeInLoc(), and RubikEdgeStateArray::SetCubeOrientation().