Namespace AIAC¶
Namespaces¶
Type | Name |
---|---|
namespace | Utils |
Classes¶
Type | Name |
---|---|
class | ACInfoModel |
class | ACInfoToolhead the class holding the information of the toolhead (GOs, metadata, etc) |
class | ACInfoToolheadManager |
class | AppCloseEvent |
class | Application |
struct | ApplicationSpecification |
class | Camera |
class | CameraCalibrationLoadedEvent |
class | CameraCalibrator |
class | ChainSawCutPlaneVisualizer |
struct | ChainSawData |
struct | Character |
class | CircularSawCutBladeThicknessVisualizer This is an inherited class to show the thickness of the blade on circular saws. |
class | CircularSawCutPlaneVisualizer |
struct | CircularSawData |
class | Config |
class | CutBladeThicknessVisualizer The idea behind the CutBladeThicknessVisualizer is to give a visual feedback on the thickness of the blade. We do this by intersecting the two neighbours faces of the current highlighted face. |
class | CutChainSawAngleFeedVisualizer |
class | CutChainSawDepthFeedVisualizer |
class | CutChainSawFeedVisualizer |
class | CutChainSawFeedback |
class | CutCircularOrientationVisualizer This visualizer ggdb ives a bit of guidance on the cut orientation. Although it is not possible to determine the exact orientation of the cut, this visualizer gives a rough idea of the pitch and roll. The way this is done is by projecting the blade normal onto the face normal, and then projecting the resulting vector onto the face normal. If we close the triangle of these two lines we can monitor the angle that must be 45*. This way we can also have the direction towards which the blade needs to be tilted. |
class | CutCircularSawDepthVisualizer Visualizer for showing the depth of the cut. |
class | CutCircularSawFeedback |
class | CutCircularSawPositionStartVisualizer This visualizer gives guidance on the start position of the lateral cuts for the circular saw. |
class | CutOrientationVisualizer This visualizer gives a bit of guidance on the cut orientation. Although it is not possible to determine the exact orientation of the cut, this visualizer gives a rough idea of the pitch and roll. The way this is done is by projecting the blade normal onto the face normal, and then projecting the resulting vector onto the face normal. If we close the triangle of these two lines we can monitor the angle that must be 45*. This way we can also have the direction towards which the blade needs to be tilted. |
class | CutPlaneVisualizer |
struct | CylinderPole |
class | DLoader |
struct | DrillBitData |
class | Event |
class | EventBus |
struct | EventCompare |
struct | EventPolicy |
class | FabFeedback |
class | FeedbackVisualizer |
class | GLLineObject |
class | GLMeshObject |
class | GLObject |
class | GLPointObject |
class | GOCircle |
struct | GOColor |
class | GOCylinder |
class | GOLine |
class | GOMesh |
class | GOPoint |
class | GOPolyline |
class | GOPrimitive |
class | GORegistry |
class | GOText |
struct | GOTextSize |
class | GOTriangle |
struct | GOWeight |
class | HoleFeedback The UI widget for providing feedback on orientation Feeds (in chronological order): |
class | HoleFeedbackPosition The UI widget for providing feedback on position. |
class | HoleFeedbackRotation The UI widget for providing feedback on rotation. |
class | HoleFeedbackText The general visualizer for the info displayed as text. |
struct | ImTexture Structure representing an ImGui texture. |
class | Image Class representing the main iamge object for AC. |
class | Layer |
class | LayerCamera |
class | LayerCameraCalib |
class | LayerFeedback |
class | LayerLogRecorder |
class | LayerModel |
class | LayerSlam |
class | LayerToolhead |
class | LayerUI |
class | LayerUtils |
class | Log |
class | PaneUI |
struct | Position |
class | Renderer |
class | SLAMCombineMapEvent |
class | SLAMMapLoadedEvent |
class | SLAMStartMappingEvent |
class | SLAMStopMappingEvent |
class | SLAMVocabularyLoadedEvent |
struct | SaberSawData |
class | ScannedModel |
class | TextRenderer |
class | TimberInfo |
class | ToolHeadData Class holding and parse and create data from the .acit file of the toolhead. |
class | TouchMonitor |
class | Viewport |
class | Window |
struct | WindowProps |
Public Types¶
Type | Name |
---|---|
enum | ACIMState |
enum | ACToolHeadType All the possible types of the toolheads in AC. |
typedef eventpp::EventQueue< EventType, void(const EventPointer &), EventPolicy > | EQ |
enum | EventCategory |
typedef std::shared_ptr< Event > | EventPointer |
enum | EventType |
enum | GLObjectType |
enum | GOTypeFlags |
enum | ImageFormat Enum representing different image formats. |
typedef std::shared_ptr< T > | Ref |
typedef std::unique_ptr< T > | Scope |
Public Attributes¶
Type | Name |
---|---|
GLuint | VertexArrayID |
Public Static Attributes¶
Type | Name |
---|---|
std::map< ACIMState, glm::vec4 > | CUT_EDGE_COLOR = = { |
{ACIMState::NOT_DONE, glm::vec4(0.9f, 0.6f, 0.2f, 1.0f)}, | |
{ACIMState::CURRENT, glm::vec4(0.1f, 0.9f, 0.5f, 1.0f)}, | |
{ACIMState::DONE, glm::vec4(0.3f, 0.3f, 0.3f, 0.5f)} | |
} | |
std::map< ACIMState, glm::vec4 > | CUT_FACE_COLOR = = { |
{ACIMState::NOT_DONE, glm::vec4(0.9f, 0.6f, 0.2f, 0.2f)}, | |
{ACIMState::CURRENT, glm::vec4(0.1f, 0.9f, 0.5f, 0.2f)}, | |
{ACIMState::DONE, glm::vec4(0.3f, 0.3f, 0.3f, 0.2f)} | |
} | |
std::map< ACIMState, glm::vec4 > | HOLE_AXIS_COLOR = = { |
{ACIMState::NOT_DONE, glm::vec4(0.1f, 0.9f, 0.9f, 1.0f)}, | |
{ACIMState::CURRENT, glm::vec4(0.1f, 0.9f, 0.5f, 1.0f)}, | |
{ACIMState::DONE, glm::vec4(0.3f, 0.3f, 0.3f, 0.5f)} | |
} | |
std::map< ACIMState, glm::vec4 > | HOLE_CYLINDER_COLOR = = { |
{ACIMState::NOT_DONE, glm::vec4(0.1f, 0.9f, 0.9f, 0.2f)}, | |
{ACIMState::CURRENT, glm::vec4(0.1f, 0.9f, 0.5f, 0.2f)}, | |
{ACIMState::DONE, glm::vec4(0.3f, 0.3f, 0.3f, 0.2f)} | |
} | |
const glm::vec4 | OGL_BLACK = = glm::vec4(0, 0, 0, 1) |
const glm::vec4 | OGL_BLUE = = glm::vec4(0, 0, 1, 1) |
const glm::vec4 | OGL_CYAN = = glm::vec4(0, 1, 1, 1) |
const glm::vec4 | OGL_GREEN = = glm::vec4(0, 1, 0, 1) |
const glm::vec4 | OGL_MAGENTA = = glm::vec4(1, 0, 1, 1) |
const glm::vec4 | OGL_RED = = glm::vec4(1, 0, 0, 1) |
const glm::vec4 | OGL_WHITE = = glm::vec4(1, 1, 1, 1) |
const glm::vec4 | OGL_YELLOW = = glm::vec4(1, 1, 0, 1) |
const float | WEIGHT_TO_CYLINDER_RADIUS_RATE = = 1.0f / 64.0f |
struct AIAC::Position | s_CursorPos |
uint8_t | s_GLFWWindowCount = = 0 |
bool | s_IsMouseButtonPressed = = false |
Public Functions¶
Type | Name |
---|---|
std::vector< GLubyte > | CaptureFramePixels (const ApplicationSpecification & appSpec) |
std::vector< std::shared_ptr< GLObject > > | CreateCircle (glm::vec3 center, glm::vec3 normal, float radius, glm::vec4 color, glm::vec4 edgeColor, float edgeWeight, int sectorNum) |
std::vector< std::shared_ptr< GLObject > > | CreateCylinder (const glm::vec3 & baseCenter, const glm::vec3 & topCenter, GLfloat radius, glm::vec4 color, glm::vec4 edgeColor, int sectorNum) |
std::vector< std::shared_ptr< GLObject > > | CreatePolyline (std::vector< glm::vec3 > vertices, bool isClosed, glm::vec4 color, float lineWidth) |
constexpr Ref< T > | CreateRef (Args &&... args) |
constexpr Scope< T > | CreateScope (Args &&... args) |
void | CvtCvMat2GlTextureObj (cv::Mat & cvMat, GLuint & glTextureObj, GLint glInternalFormat=GL_RGB) Convert OpenCV matrix to OpenGL texture object. |
void | CvtCvMat2ImTexture (cv::Mat & cvMat, ImTexture & imTexture, GLuint & glTextureObj, GLint glInternalFormat) Convert cv::Mat to ImTexture , a glTextureObj is required as a texture holder. |
void | CvtGlTextureObj2ImTexture (GLuint glTextureID, ImTexture & imTexture, ImVec2 size=ImVec2(0, 0)) Convert OpenGL texture object to ImGui texture. |
void | DrawAllGOs (glm::mat4 projection=glm::mat4(1.0f), float textScale=1.0f) Draw all the GOs present in the GORegistry . |
void | DrawCircle (glm::vec3 center, glm::vec3 normal, float radius, glm::vec4 color, glm::vec4 edgeColor, float edgeWeight, int sectorNum=24) Draw a single circle. |
void | DrawCircle (const GOCircle & goCircle) |
void | DrawCircles (const std::vector< std::shared_ptr< GOCircle >> & goCircles) |
void | DrawCylinder (const glm::vec3 & baseCenter, const glm::vec3 & topCenter, GLfloat radius, glm::vec4 color, glm::vec4 edgeColor, int sectorNum=24) Draw a Cylinder, this is also used for drawing lines with heavy weight (>1.0f). |
void | DrawCylinder (const GOCylinder & goCylinder) |
void | DrawCylinders (const std::vector< std::shared_ptr< GOCylinder >> & goCylinders) |
void | DrawGO (const shared_ptr< GOPrimitive > & goPrimitive) Draw a GOPrimitive . (This function neglects the "isVisible" attribute of the object and will draw it anyway) |
void | DrawLine (const glm::vec3 & p1, const glm::vec3 & p2, float weight=GOWeight::Default, const glm::vec4 & color=glm::vec4(0.0f, 0.0f, 0.0f, 1.0f)) Draw a line on two glm::vec3. |
void | DrawLine (const GOLine & goLine) |
void | DrawLines (const vector< glm::vec3 > & vertices, float weight, const glm::vec4 & color) Draw multiple lines. |
void | DrawLines (const std::vector< std::shared_ptr< GOLine >> & goLines) |
void | DrawMesh (const GOMesh & goMesh) |
void | DrawMeshes (const std::vector< std::shared_ptr< GOMesh >> & goMeshes) |
void | DrawPoint (const GOPoint & goPoint) Draw a GOPoint . |
void | DrawPoints (const std::vector< std::shared_ptr< GOPoint >> & goPoints) |
void | DrawPolyline (const GOPolyline & goPolyline) |
void | DrawPolylines (const std::vector< std::shared_ptr< GOPolyline >> & goPolylines) |
void | DrawSlamMap (const std::shared_ptr< tslam::Map > & map, const glm::vec4 & color, float pointSize=1) Draw TSlam map. |
void | DrawSlamMap (const shared_ptr< tslam::Map > & map, const glm::vec4 & color, float pointSize) Render Slam map on the current frame. |
void | DrawText (const GOText & goText, float scale, const glm::mat4 & projection) |
void | DrawTexts (const std::vector< std::shared_ptr< GOText >> & goTexts, float scale, const glm::mat4 & projection) |
void | DrawTexts (std::vector< GOText > goTexts, float scale=1.0f, const glm::mat4 & projection=glm::mat4(1.0f)) |
void | DrawTriangle (const GOTriangle & goTriangle) |
void | DrawTriangles (const std::vector< std::shared_ptr< GOTriangle >> & goTriangles) |
glm::mat4x4 | GetRigidTransformationMatrix (std::vector< glm::vec3 > srcPts, std::vector< glm::vec3 > dstPts) Get the rigid transformation matrix from two correlated set of 3D points @praam srcPts The source points. |
glm::mat3x3 | GetRotationMatrix (glm::vec3 axis, float theta) Get the rotation matrix associated with counterclockwise rotation about the given axis by theta radians. |
int | GetSectorNum (float radius) |
glm::vec3 | GetTransformed (glm::mat4 transformMat, float x, float y, float z) Combine 3 points into a glm::vec3 and transform it based on the given transformation matrix. |
glm::mat4x4 | GetTranslationMatrix (glm::vec3 translationVector) Get the translation matrix associated with the given translation vector. |
bool | StringToBool (std::string str) Convert a string to bool. |
std::set< std::string > | StringToSet (std::string str) Convert a string separated by space to a set of tokens. |
ACIMState | StringToState (std::string m_State) Convert string m_State to ACIMState. |
std::vector< std::string > | StringToTokens (std::string str) Convert a string separated by space to a list of string. |
glm::vec3 | StringToVec3 (std::string str) Convert a string separated by space to glm::vec3. |
std::string | Vec3ToString (glm::vec3 vec3) Convert a vec3 to String. |
void | glDrawLines3d (const std::vector< glm::vec3 > & edges, const std::vector< glm::vec4 > & colors) Draw multiple points. |
void | glDrawLines3d (const std::vector< glm::vec3 > & edges, const glm::vec4 & color) Draw multiple points. |
void | glDrawPoints3d (const std::vector< glm::vec3 > & vertices, const std::vector< glm::vec4 > & colors, GLfloat pointSize=1.0f) Draw multiple points. |
void | glDrawPoints3d (const std::vector< glm::vec3 > & vertices, const glm::vec4 & color, GLfloat pointSize=1.0f) Draw multiple points. |
void | glDrawTriangles3d (const std::vector< glm::vec3 > & vertices, const std::vector< uint32_t > & indices, const std::vector< glm::vec4 > & colors) Draw multiple Triangles. |
void | glDrawTriangles3d (const std::vector< glm::vec3 > & vertices, const std::vector< uint32_t > & indices, const glm::vec4 & colors) Draw multiple Triangles. |
void | operator>> (cv::VideoCapture cap, AIAC::Image & img) |
Public Static Functions¶
Type | Name |
---|---|
void | GLFWErrorCallback (int error, const char * description) |
void | GLFWMonitorCallback (GLFWmonitor * monitor, int event) |
bool | IsGlfwInitialized () |
Public Types Documentation¶
enum ACIMState¶
enum ACToolHeadType¶
All the possible types of the toolheads in AC.
holding the data of the toolheads from .acit and the corresponding GOs¶
typedef EQ¶
enum EventCategory¶
enum AIAC::EventCategory {
None = 0,
EventCategoryApplication = BIT(0),
EventCategorySLAM = BIT(1),
EventCategoryCamera = BIT(2)
};
typedef EventPointer¶
enum EventType¶
enum AIAC::EventType {
None = 0,
AppClose,
SLAMMapLoaded,
SLAMVocabularyLoaded,
SLAMStartMapping,
SLAMStopMapping,
SLAMCombineMapEvent,
CameraCalibrationLoaded
};
enum GLObjectType¶
enum GOTypeFlags¶
enum AIAC::GOTypeFlags {
_GOPrimitive = 0,
_GOPoint,
_GOLine,
_GOCircle,
_GOCylinder,
_GOPolyline,
_GOTriangle,
_GOMesh,
_GOText
};
enum ImageFormat¶
Enum representing different image formats.
typedef Ref¶
typedef Scope¶
Public Attributes Documentation¶
variable VertexArrayID¶
Public Static Attributes Documentation¶
variable CUT_EDGE_COLOR¶
variable CUT_FACE_COLOR¶
variable HOLE_AXIS_COLOR¶
variable HOLE_CYLINDER_COLOR¶
variable OGL_BLACK¶
variable OGL_BLUE¶
variable OGL_CYAN¶
variable OGL_GREEN¶
variable OGL_MAGENTA¶
variable OGL_RED¶
variable OGL_WHITE¶
variable OGL_YELLOW¶
variable WEIGHT_TO_CYLINDER_RADIUS_RATE¶
variable s_CursorPos¶
variable s_GLFWWindowCount¶
variable s_IsMouseButtonPressed¶
Public Functions Documentation¶
function CaptureFramePixels¶
function CreateCircle¶
std::vector< std::shared_ptr< GLObject > > AIAC::CreateCircle (
glm::vec3 center,
glm::vec3 normal,
float radius,
glm::vec4 color,
glm::vec4 edgeColor,
float edgeWeight,
int sectorNum
)
function CreateCylinder¶
std::vector< std::shared_ptr< GLObject > > AIAC::CreateCylinder (
const glm::vec3 & baseCenter,
const glm::vec3 & topCenter,
GLfloat radius,
glm::vec4 color,
glm::vec4 edgeColor,
int sectorNum
)
function CreatePolyline¶
std::vector< std::shared_ptr< GLObject > > AIAC::CreatePolyline (
std::vector< glm::vec3 > vertices,
bool isClosed,
glm::vec4 color,
float lineWidth
)
function CreateRef¶
function CreateScope¶
function CvtCvMat2GlTextureObj¶
Convert OpenCV matrix to OpenGL texture object.
void AIAC::CvtCvMat2GlTextureObj (
cv::Mat & cvMat,
GLuint & glTextureObj,
GLint glInternalFormat=GL_RGB
)
Parameters:
cvMat
OpenCV matrix.glTextureObj
OpenGL texture object.glInternalFormat
Internal format of the OpenGL texture.
function CvtCvMat2ImTexture¶
Convert cv::Mat to ImTexture , a glTextureObj is required as a texture holder.
void AIAC::CvtCvMat2ImTexture (
cv::Mat & cvMat,
ImTexture & imTexture,
GLuint & glTextureObj,
GLint glInternalFormat
)
Convert OpenCV matrix to ImGui texture.
Parameters:
imTexture
The output ImTexture.glTextureObj
The texture holder. Remember to delete it withglDeleteTextures(1, &glTextureObj)
cvMat
OpenCV matrix.imTexture
ImGui texture.glTextureObj
OpenGL texture object.glInternalFormat
Internal format of the OpenGL texture.
function CvtGlTextureObj2ImTexture¶
Convert OpenGL texture object to ImGui texture.
void AIAC::CvtGlTextureObj2ImTexture (
GLuint glTextureID,
ImTexture & imTexture,
ImVec2 size=ImVec2(0, 0)
)
Parameters:
glTextureID
OpenGL texture ID.imTexture
ImGui texture.size
Size of the texture.
function DrawAllGOs¶
Draw all the GOs present in the GORegistry .
Parameters:
projection
OpenGL projection matrix.
function DrawCircle¶
Draw a single circle.
void AIAC::DrawCircle (
glm::vec3 center,
glm::vec3 normal,
float radius,
glm::vec4 color,
glm::vec4 edgeColor,
float edgeWeight,
int sectorNum=24
)
Parameters:
center
Center of the circle.normal
The normal of plane on which the circle lays.radius
Radius of the circle.color
RGBA Color of the face.edgeColor
RGBA Color of the edge.edgeWeight
Weight of the edge.sectorNum
Number of sectors, can be derived from GetSectorNum(radius).
function DrawCircle¶
function DrawCircles¶
function DrawCylinder¶
Draw a Cylinder, this is also used for drawing lines with heavy weight (>1.0f).
void AIAC::DrawCylinder (
const glm::vec3 & baseCenter,
const glm::vec3 & topCenter,
GLfloat radius,
glm::vec4 color,
glm::vec4 edgeColor,
int sectorNum=24
)
Parameters:
baseCenter
Base center (bottom) of the cylinder.topCenter
Top center (top) of the cylinder.radius
Radius of the cylinder; For drawing line, radius = weight * WEIGHT_TO_CYLINDER_RADIUS_RATE.color
Color of the cylinder.edgeColor
The color of the edges of the caps.sectorNum
Number of sectors of the cylinder. Can callGetSectorNum(radius)
to get the default value.
function DrawCylinder¶
function DrawCylinders¶
function DrawGO¶
Draw a GOPrimitive . (This function neglects the "isVisible" attribute of the object and will draw it anyway)
Parameters:
goPrimitive
Object to draw.
function DrawLine¶
Draw a line on two glm::vec3.
void AIAC::DrawLine (
const glm::vec3 & p1,
const glm::vec3 & p2,
float weight=GOWeight::Default,
const glm::vec4 & color=glm::vec4(0.0f, 0.0f, 0.0f, 1.0f)
)
Parameters:
p1
First point.p2
Second point.weight
Weight of the line.color
RGBA Color of the line.
function DrawLine¶
function DrawLines¶
Draw multiple lines.
void AIAC::DrawLines (
const vector< glm::vec3 > & vertices,
float weight,
const glm::vec4 & color
)
Parameters:
vertices
A vector of glm::vec3. If you have line [p1, p2] and [p2, p3], the vector should be construct as [p1, p2, p2, p3, ...]weight
Weight of the line.color
RGBA Color of the line.
function DrawLines¶
function DrawMesh¶
function DrawMeshes¶
function DrawPoint¶
Draw a GOPoint .
Parameters:
goPoint
The point to draw.
function DrawPoints¶
function DrawPolyline¶
function DrawPolylines¶
function DrawSlamMap¶
Draw TSlam map.
void AIAC::DrawSlamMap (
const std::shared_ptr< tslam::Map > & map,
const glm::vec4 & color,
float pointSize=1
)
Parameters:
map
A TSlam mapcolor
The color of the point cloud
function DrawSlamMap¶
Render Slam map on the current frame.
void AIAC::DrawSlamMap (
const shared_ptr< tslam::Map > & map,
const glm::vec4 & color,
float pointSize
)
Parameters:
map
A tslam map to be rendered.color
PointCloud's color.pointSize
PointCloud's size.
function DrawText¶
function DrawTexts¶
void AIAC::DrawTexts (
const std::vector< std::shared_ptr< GOText >> & goTexts,
float scale,
const glm::mat4 & projection
)
function DrawTexts¶
void AIAC::DrawTexts (
std::vector< GOText > goTexts,
float scale=1.0f,
const glm::mat4 & projection=glm::mat4(1.0f)
)
function DrawTriangle¶
function DrawTriangles¶
function GetRigidTransformationMatrix¶
Get the rigid transformation matrix from two correlated set of 3D points @praam srcPts The source points.
glm::mat4x4 AIAC::GetRigidTransformationMatrix (
std::vector< glm::vec3 > srcPts,
std::vector< glm::vec3 > dstPts
)
Parameters:
dstPts
The destination points
function GetRotationMatrix¶
Get the rotation matrix associated with counterclockwise rotation about the given axis by theta radians.
Parameters:
axis
The axis of rotation.theta
The angle of rotation in radians.
Returns:
The rotation matrix.
function GetSectorNum¶
function GetTransformed¶
Combine 3 points into a glm::vec3 and transform it based on the given transformation matrix.
Parameters:
transformMat
A 4x4 transformation matrix.x
X coordinate.y
Y coordinate.z
Z coordinate.
function GetTranslationMatrix¶
Get the translation matrix associated with the given translation vector.
Parameters:
translationVector
The translation vector
Returns:
The translation matrix
function StringToBool¶
Convert a string to bool.
Parameters:
str
string
Returns:
bool
function StringToSet¶
Convert a string separated by space to a set of tokens.
Parameters:
str
string separated by space
Returns:
a std::set<std::string>
function StringToState¶
Convert string m_State to ACIMState.
Parameters:
m_State
ACIMState
function StringToTokens¶
Convert a string separated by space to a list of string.
Parameters:
str
string separated by space
Returns:
a std::vector<std::string>
function StringToVec3¶
Convert a string separated by space to glm::vec3.
Parameters:
str
string separated by space
Returns:
glm::vec3
function Vec3ToString¶
Convert a vec3 to String.
Parameters:
vec3
vec3
Returns:
string
function glDrawLines3d¶
Draw multiple points.
void AIAC::glDrawLines3d (
const std::vector< glm::vec3 > & edges,
const std::vector< glm::vec4 > & colors
)
Draw multiple lines
(0, 1, 0) (1, 0, 0) || |-----| ||
(0, 0, 0) (0, 0, 1)
If you want to draw a square like this, you should construct the edges
as: [ (0, 0, 0), (0, 0, 1), (0, 0, 1), (1, 0, 0), (1, 0, 0), (0, 1, 0), (0, 1, 0), (0, 0, 0) ]
Parameters:
vertices
A vector of 3d points, indicate the position of the vertices.colors
A RGBA(0~1.0) color, a vector with the same size of thevertices
.
function glDrawLines3d¶
Draw multiple points.
Parameters:
vertices
A vector of 3d points, indicate the position of the vertices.colors
A RGBA(0~1.0) color.
function glDrawPoints3d¶
Draw multiple points.
void AIAC::glDrawPoints3d (
const std::vector< glm::vec3 > & vertices,
const std::vector< glm::vec4 > & colors,
GLfloat pointSize=1.0f
)
Parameters:
vertices
A vector of 3d points, indicate the position of the vertices.colors
A RGBA(0~1.0) color, a vector with the same size of thevertices
.pointSize
The size of the point.
function glDrawPoints3d¶
Draw multiple points.
void AIAC::glDrawPoints3d (
const std::vector< glm::vec3 > & vertices,
const glm::vec4 & color,
GLfloat pointSize=1.0f
)
Parameters:
vertices
A vector of 3d points, indicate the position of the vertices.colors
A RGBA(0~1.0) color.pointSize
The size of the point.
function glDrawTriangles3d¶
Draw multiple Triangles.
void AIAC::glDrawTriangles3d (
const std::vector< glm::vec3 > & vertices,
const std::vector< uint32_t > & indices,
const std::vector< glm::vec4 > & colors
)
P2(0, 1, 0) P3(1, 0, 0) | / | | / | | / | | / | | / | P0(0, 0, 0) P1(0, 0, 1)
If you want to draw a mesh of square like this, you should construct the edges
as: [ (0, 0, 0), // P0 (0, 0, 1), // P1 (1, 0, 0), // P2 (0, 1, 0), // P3 ] with indices
: [ 0, 1, 3, // Right-bottom triangle 3, 2, 0 // Left-top triangle ]
Parameters:
vertices
A vector of 3d points, indicate the position of the vertices.indices
A vector of all triangle's indices.colors
A RGBA(0~1.0) color, a vector with the same size of the vertices.
function glDrawTriangles3d¶
Draw multiple Triangles.
void AIAC::glDrawTriangles3d (
const std::vector< glm::vec3 > & vertices,
const std::vector< uint32_t > & indices,
const glm::vec4 & colors
)
Parameters:
vertices
A vector of 3d points, indicate the position of the vertices.indices
A vector of all triangle's indices.colors
A RGBA(0~1.0) color, a vector with the same size of the vertices.
function operator>>¶
Public Static Functions Documentation¶
function GLFWErrorCallback¶
function GLFWMonitorCallback¶
function IsGlfwInitialized¶
The documentation for this class was generated from the following file src/AIAC/ACInfoModel.cpp