21#include <cilselector.h>
43 ViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
44 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
49 std::shared_ptr<Matrix4f>
align(
const std::shared_ptr<Camera>&
camera,
const std::shared_ptr<BoundingBox>& boundingBox);
50 int hit(
int x,
int y);
56 std::shared_ptr<Node> buildCube();
57 std::shared_ptr<Node> buildEdge();
58 std::shared_ptr<Node> buildAxis();
59 std::shared_ptr<Node> buildHilite();
60 std::shared_ptr<Primitive> buildFace(
const Vector3f& p0,
const Vector3f& p1,
const Vector3f& p2,
const Vector3f& p3,
const std::string& text,
float texCoordOffset);
61 std::shared_ptr<Material> buildFaceMaterial();
65 std::shared_ptr<std::vector<std::shared_ptr<Block>>>
m_blocks;
78 FullViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
79 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
89 MiniViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
90 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
100 CornerViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
101 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
108 std::shared_ptr<FullViewCube>
_fullViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
109 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
111 std::shared_ptr<MiniViewCube>
_miniViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
112 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
114 std::shared_ptr<CornerViewCube>
_cornerViewCube(
const std::shared_ptr<Renderer>& renderer,
const std::shared_ptr<Image2D>& image,
115 const std::shared_ptr<Vector2i>& coordinate,
const std::shared_ptr<Vector2i>& backgroundSize,
const std::shared_ptr<Vector2i>& windowSize);
Vector3f dir
Definition viewcube.h:29
Box3f box
Definition viewcube.h:28
The Box3f class inherits from Box3, specilizing the template parameters to float for element type and...
Definition box.h:214
virtual ~CornerViewCube()
CornerViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)
FullViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)
MiniViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)
The Pass class represents a rendering pass within a graphics pipeline.
Definition pass.h:34
std::shared_ptr< Camera > camera
This member holds a shared pointer to a Camera object which the current pass uses for rendering.
Definition pass.h:39
The class Vector3f inherits from the templated class of Vector3, and the template parameters are spec...
Definition vector.h:322
std::shared_ptr< Geometry > m_blockCube
Definition viewcube.h:68
std::shared_ptr< Matrix4f > align(const std::shared_ptr< Camera > &camera, const std::shared_ptr< BoundingBox > &boundingBox)
void setHilited(int hilited)
std::shared_ptr< Node > m_hilite
Definition viewcube.h:64
void sync(const std::shared_ptr< Camera > &camera)
int m_hilited
Definition viewcube.h:66
ViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)
std::shared_ptr< FaceSelector< Block > > m_selector
Definition viewcube.h:70
std::shared_ptr< Image2D > m_image
Definition viewcube.h:71
int m_unhilited
Definition viewcube.h:67
std::shared_ptr< std::vector< std::shared_ptr< Block > > > m_blocks
Definition viewcube.h:65
std::shared_ptr< Material > m_faceMaterial
Definition viewcube.h:69
std::shared_ptr< CornerViewCube > _cornerViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)
std::shared_ptr< MiniViewCube > _miniViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)
std::shared_ptr< FullViewCube > _fullViewCube(const std::shared_ptr< Renderer > &renderer, const std::shared_ptr< Image2D > &image, const std::shared_ptr< Vector2i > &coordinate, const std::shared_ptr< Vector2i > &backgroundSize, const std::shared_ptr< Vector2i > &windowSize)